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
回滾操作將恢復此前的版本,並重新執行相應的自動化任務,確保項目服務恢復正常。