Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan Deployer untuk mengurus dan menggunakan kod dalam projek PHP

Cara menggunakan Deployer untuk mengurus dan menggunakan kod dalam projek PHP

PHPz
PHPzasal
2023-07-13 23:57:081586semak imbas

Cara menggunakan Deployer untuk mengurus dan menggunakan kod dalam projek PHP

Dalam pembangunan perisian moden, penyepaduan berterusan dan penggunaan automatik telah menjadi pautan penting. Deployer ialah alat penggunaan PHP yang berkuasa yang membantu kami mengurus dan menggunakan kod kami dengan cepat dan mudah.

Artikel ini akan memperkenalkan cara menggunakan Deployer untuk mengurus dan menggunakan kod dalam projek PHP, dan melampirkan contoh kod yang sepadan.

Pertama, kita perlu memperkenalkan Deployer ke dalam projek. Deployer boleh dipasang melalui komposer:

composer require deployer/deployer --dev

Selepas pemasangan selesai, kami boleh mencipta fail deploy.php dalam direktori akar projek untuk menulis skrip penggunaan kami. deploy.php的文件,用于编写我们的部署脚本。

use DotenvDotenv;

require 'recipe/common.php';

// 读取环境配置文件
$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();

// 服务器连接设置
server('production', 'your_server_ip', 22)
    ->user('username')
    ->identityFile('~/.ssh/id_rsa')
    ->stage('production')
    ->env('deploy_path', '/var/www/html');

// 项目配置
set('repository', 'git@github.com:your_username/your_repository.git');
set('branch', 'master');
set('default_stage', 'production');
set('keep_releases', 5);

// 任务:更新代码
task('deploy:update_code', function () {
    run("git fetch origin {{branch}}");
    run("git reset --hard origin/{{branch}}");
})->desc('Update code');

// 后置钩子:安装依赖
after('deploy:update_code', 'composer:install');

// 任务:构建前端资源
task('deploy:build_assets', function () {
    run('cd {{release_path}} && yarn install');
    run('cd {{release_path}} && yarn build');
})->desc('Build assets');

// 部署流程
task('deploy', [
    'deploy:prepare',
    'deploy:lock',
    'deploy:release',
    'deploy:update_code',
    'deploy:shared',
    'deploy:vendors',
    'deploy:writable',
    'deploy:symlink',
    'deploy:unlock',
    'cleanup',
])->desc('Deploy your project');

// 配置选项
/*...*/

// 运行Deployer
namespaceDeployer::run();

上述代码展示了一个简单的Deployer部署脚本的基本结构。其中,我们需要根据自己的实际情况配置服务器连接、项目仓库、任务等信息。

在上述代码中,我们使用了recipe/common.php,它是Deployer的默认配置文件,并定义了一些常用的任务。我们可以根据项目需要自定义任务和钩子,以满足特定的需求。

在上述示例中,我们定义了两个任务:

  1. deploy:update_code:用于更新代码,它通过Git命令从远程仓库拉取最新的代码。
  2. deploy:build_assets:用于构建前端资源,它通过运行yarn installyarn build命令来安装依赖和构建前端资源。

除了任务之外,我们还可以定义一些其他的钩子,如beforeafter等,来在任务执行前后执行一些额外的操作。在上述示例中,我们定义了一个后置钩子after('deploy:update_code', 'composer:install'),它会在更新代码之后自动运行composer install来安装项目的依赖。

在配置完成之后,我们可以通过以下命令来运行Deployer:

dep deploy production

其中,productionrrreee

Kod di atas menunjukkan struktur asas skrip penggunaan Deployer yang mudah. Antaranya, kita perlu mengkonfigurasi sambungan pelayan, gudang projek, tugas dan maklumat lain mengikut situasi sebenar kita.

Dalam kod di atas, kami menggunakan recipe/common.php, iaitu fail konfigurasi lalai Deployer dan mentakrifkan beberapa tugas biasa. Kami boleh menyesuaikan tugas dan cangkuk mengikut keperluan projek untuk memenuhi keperluan khusus.

Dalam contoh di atas, kami mentakrifkan dua tugas: 🎜
  1. deploy:update_code: digunakan untuk mengemas kini kod, yang menarik kod terkini daripada repositori jauh melalui arahan Git.
  2. deploy:build_assets: digunakan untuk membina sumber bahagian hadapan, yang memasang kebergantungan dengan menjalankan pemasangan benang dan binaan benang arahan dan membina sumber bahagian hadapan.
🎜Selain tugasan, kami juga boleh menentukan beberapa cangkuk lain, seperti sebelum, selepas, dll., untuk melaksanakan beberapa sebelum dan selepas pelaksanaan tugas Operasi tambahan. Dalam contoh di atas, kami menentukan cangkuk siaran after('deploy:update_code', 'composer:install'), yang akan menjalankan composer install secara automatik selepas mengemas kini kod > Untuk memasang kebergantungan projek. 🎜🎜Selepas konfigurasi selesai, kita boleh menjalankan Deployer melalui arahan berikut: 🎜rrreee🎜Di mana, pengeluaran ialah nama sambungan pelayan yang kami takrifkan. Selepas berjalan, Deployer akan secara automatik melaksanakan tugas dan cangkuk kami yang telah ditetapkan untuk melengkapkan penggunaan kod. 🎜🎜Ringkasnya, Deployer ialah alat pengerahan PHP yang berkuasa dan mudah digunakan yang boleh membantu kami mencapai penggunaan pantas dan pengurusan kod automatik. Dengan menggunakan Deployer, kami boleh meningkatkan kecekapan dan kualiti pembangunan perisian. 🎜🎜Saya harap artikel ini akan membantu anda memahami dan menggunakan Deployer. 🎜

Atas ialah kandungan terperinci Cara menggunakan Deployer untuk mengurus dan menggunakan kod dalam projek PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn