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
ロールバック操作により、以前のバージョンが復元され、対応する自動化タスクが再実行され、プロジェクトサービスが通常に戻るようにします。