Cara untuk menyepadukan dan mengkonfigurasi Deployer dalam projek PHP
Ikhtisar:
Dalam proses penggunaan projek PHP, adalah sangat perlu untuk menggunakan alatan automatik. Deployer ialah alat penggunaan berasaskan PHP yang boleh membantu kami mencapai penggunaan projek automatik. Artikel ini akan memperkenalkan cara untuk menyepadukan dan mengkonfigurasi Deployer dalam projek PHP, serta beberapa konfigurasi biasa dan kod sampel.
1. Pasang Deployer:
Pertama, kita perlu memasang Deployer dalam projek. Memasang menggunakan Composer adalah cara yang paling mudah. Buka terminal, tukar ke direktori akar projek, dan laksanakan arahan berikut:
composer require deployer/deployer --dev
Ini akan memasang Deployer dalam projek dan menambahkannya pada kebergantungan pembangunan.
2. Konfigurasikan Deployer:
Buat fail deploy.php dalam direktori akar projek. Ini akan menjadi fail konfigurasi Deployer. Dalam fail deploy.php, kita perlu mengkonfigurasi beberapa maklumat asas, seperti hos pelayan sasaran, nama pengguna, kata laluan, dsb.
<?php require 'recipe/common.php'; // 项目名称 set('application', 'your_project_name'); // 需要发布的代码库地址(可以是 Git、SVN 等) set('repository', 'git@github.com:your_username/your_project.git'); // 部署的目标服务器 server('production', 'your_server_hostname') ->user('your_server_username') ->password('your_server_password') ->set('deploy_path', '~/your_deploy_path'); // 可选:生成版本号(根据 Git 提交信息生成) set('keep_releases', 5); set('release_name', function () { return date('YmdHis') . '_' . strtolower(deployer_run('git log -n 1 --format="%h"'))->toString(); }); // 自定义任务:重启服务 task('service:restart', function () { run('sudo service your_service_name restart'); }); // 在部署成功后执行自定义任务 after('success', 'service:restart');
Kod sampel di atas menunjukkan konfigurasi Deployer yang paling asas, anda perlu mengubah suai mengikut situasi sebenar anda. Antaranya, your_service_name
ialah nama perkhidmatan yang perlu dimulakan semula. . (ini untuk memulakan semula perkhidmatan). your_project_name
是项目的名称,your_username
是代码库的用户名,your_project
是代码库的名称,your_server_hostname
是目标服务器的主机名,your_server_username
是目标服务器的用户名,your_server_password
是目标服务器的密码,your_deploy_path
是项目在目标服务器上的部署路径,your_service_name
是需要重启的服务名称。
三、使用 Deployer 完成部署:
配置完成后,使用以下命令可以执行部署:
vendor/bin/dep deploy production
部署成功后,你的代码将会被推送到目标服务器上的指定路径,并执行自定义任务(此处为重启服务)。
四、更多配置与自定义任务:
Deployer 支持更多的配置和自定义任务,以满足不同项目的需求。下面是一些常用的配置和自定义任务示例:
set
Sesetengah direktori mungkin perlu ditulis pada setiap penempatan, anda boleh menggunakan fungsi set
untuk mentakrifkan direktori ini:
set('writable_dirs', ['var/logs', 'var/cache']);
task('cache:clear', function () { run('cd {{release_path}} && php bin/console cache:clear'); }); task('service:restart', function () { run('sudo service your_service_name restart'); }); // 在部署完成后依次执行清理缓存和重启服务 after('deploy:locked', 'cache:clear'); after('success', 'service:restart');
Atas ialah kandungan terperinci Bagaimana untuk mengintegrasikan dan mengkonfigurasi Deployer dalam projek PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!