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的默认配置文件,并定义了一些常用的任务。我们可以根据项目需要自定义任务和钩子,以满足特定的需求。
在上述示例中,我们定义了两个任务:
deploy:update_code
:用于更新代码,它通过Git命令从远程仓库拉取最新的代码。deploy:build_assets
:用于构建前端资源,它通过运行yarn install
和yarn build
命令来安装依赖和构建前端资源。除了任务之外,我们还可以定义一些其他的钩子,如before
、after
等,来在任务执行前后执行一些额外的操作。在上述示例中,我们定义了一个后置钩子after('deploy:update_code', 'composer:install')
,它会在更新代码之后自动运行composer install
来安装项目的依赖。
在配置完成之后,我们可以通过以下命令来运行Deployer:
dep deploy production
其中,production
rrreee
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: 🎜deploy:update_code
: digunakan untuk mengemas kini kod, yang menarik kod terkini daripada repositori jauh melalui arahan Git. 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. 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, 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!