随着业务复杂度的不断提升,越来越多的开发团队开始关注持续交付和自动化部署。特别是在PHP项目中,引入自动化部署工具可以显著提升上线效率、减少人为失误。Deployer 是一款用 PHP 编写的开源部署工具,它轻量、易用,专为 PHP 项目打造,能帮助开发者高效管理部署流程。
使用 Composer 安装 Deployer 非常方便,在项目根目录中执行以下命令即可:
<span class="fun">composer require deployer/deployer --dev</span>
安装成功后,项目根目录下会生成一个 deploy.php 文件,用于部署流程的配置。
打开 deploy.php,你可以按照以下方式进行基本配置:
namespace Deployer;
require 'recipe/common.php';
// 服务器配置
server('production', 'your_server_ip')
->user('your_username')
->password('your_password')
->set('deploy_path', '/var/www/html');
// 项目配置
set('repository', 'git@github.com:your_username/your_repo.git');
set('keep_releases', 3);
请将示例中的服务器信息替换为你自己的实际数据。
Deployer 支持灵活定义部署任务,除了内置任务外,还可以创建自定义逻辑。例如:
namespace Deployer;
desc('Deploy your project');
task('my_task', function () {
// 自定义任务逻辑
run('php artisan migrate');
run('php artisan cache:clear');
run('php artisan queue:restart');
});
// 将自定义任务与部署流程关联
after('deploy:symlink', 'my_task');
上述示例在部署完成后自动执行数据库迁移、清除缓存并重启队列服务。
配置完成后,可以通过以下命令开始部署:
<span class="fun">dep deploy production</span>
该命令将会拉取最新代码、安装依赖、更新软连接并执行所有定义的部署任务,自动化完成整个上线流程。
借助 Deployer,我们能够在 PHP 项目中实现标准化、自动化的持续交付流程。其灵活的配置方式和扩展机制让部署变得更加可靠与高效,是提升开发团队交付能力的利器。