composer require deployer/deployer --dev
安装完成后,会在项目根目录生成 deploy.php 配置文件,用于定义部署规则与任务。
<?php
require 'vendor/autoload.php';
require 'recipe/common.php';
// 服务器配置
server('production', 'your_server_address')
->user('your_username')
->password('your_password')
->set('deploy_path', '/var/www/html/your_project_path');
// 项目配置
set('repository', 'your_git_repository');
set('shared_files', ['.env']);
set('shared_dirs', ['storage']);
set('writable_dirs', ['bootstrap/cache']);
set('keep_releases', 5);
// 构建任务
task('build', function () {
run('cd {{release_path}} && build-script');
});
// 部署失败自动解锁
after('deploy:failed', 'deploy:unlock');
// 自定义任务:重载 PHP-FPM
task('reload:php-fpm', function () {
run('sudo systemctl reload php-fpm');
});
// 自动化部署流程
before('deploy', 'build');
after('deploy', 'reload:php-fpm');
请根据实际情况替换上述配置中的服务器地址、用户名、仓库地址等字段。
dep deploy
此命令将自动拉取 Git 仓库中的代码、部署至服务器指定目录,并执行预设任务。整个过程可实现高度自动化,极大简化了部署流程。
dep rollback
回滚操作将恢复此前的版本,并重新执行相应的自动化任务,确保项目服务恢复正常。