Deployer を使用して PHP プロジェクトの継続的インテグレーションとデプロイメントを実装する
はじめに:
現代のソフトウェア開発では、継続的インテグレーションとデプロイメントがプロジェクト開発における重要なリンクの 1 つになっています。人気のある PHP デプロイメント ツールとして、Deployer はプロジェクトの自動デプロイメントの実現に役立ち、それによって開発効率が向上し、エラーが減少します。この記事では、Deployer を使用して PHP プロジェクトの継続的統合とデプロイメントを実装する方法を紹介し、いくつかのコード例を示します。
1. デプロイ環境の準備
Deployer のダウンロードとインストール
まず、ローカル マシンに Deployer をインストールして設定する必要があります。 Deployer は次の方法でダウンロードしてインストールできます。
$ curl -LO https://deployer.org/deployer.phar $ mv deployer.phar /usr/local/bin/dep $ chmod +x /usr/local/bin/dep
Deployer の初期化
インストールが完了したら、プロジェクトのルート ディレクトリで Deployer を初期化する必要があります。コマンド ラインで次のコマンドを実行します。
$ dep init
このコマンドは、展開タスクを構成および定義するための deploy.php
ファイルをプロジェクト ルート ディレクトリに生成します。
2. デプロイメント タスクの設定deploy.php
ファイルでは、さまざまなデプロイメント タスクを定義し、関連するパラメーターを設定できます。以下は例です:
<?php require 'recipe/common.php'; // 服务器设置 server('production', 'your.production.server') ->user('your_user') ->identityFile() ->set('deploy_path', '/var/www/html'); // 代码仓库设置 set('repository', 'your_repository_url'); set('branch', 'master'); // 任务定义 task('deploy', function () { // 更新代码 run('cd {{release_path}} && git pull origin {{branch}}'); // 安装依赖 run('cd {{release_path}} && composer install'); // 更新数据库 run('cd {{release_path}} && php artisan migrate'); // 更新缓存 run('cd {{release_path}} && php artisan cache:clear'); // 重启服务 run('sudo service php-fpm restart'); }); // 任务执行前调用的钩子 before('deploy', 'git:clone'); before('deploy', 'deploy:clear_paths'); // 执行部署任务 after('deploy', 'success');
3. デプロイメント タスクの実行
デプロイメント タスクを構成した後、コマンド ラインからデプロイメント タスクを実行できます。プロジェクトのルート ディレクトリで次のコマンドを実行してデプロイします。
$ dep deploy production
このコマンドは、コードを自動的にサーバーにデプロイし、関連コマンドを実行します。
4. 継続的インテグレーション
継続的インテグレーションを実現するには、デプロイメント タスクとコード ウェアハウスの Webhook を組み合わせることができます。具体的な手順は次のとおりです。
デプロイメント タスクのトリガー条件を構成するdeploy.php
ファイルで、タスクをトリガーするための条件を追加できます。たとえば、deploy
タスクの前に次のコードを追加できます。
// 检查触发条件 task('check_trigger', function () { if ($_SERVER['HTTP_X_GITHUB_EVENT'] !== 'push') { throw new RuntimeException('Invalid trigger event.'); } // 可以根据需要添加更多的触发条件判断 })->desc('Check trigger event.'); // 在deploy任务之前触发check_trigger任务 before('deploy', 'check_trigger');
このようにして、コードがコード リポジトリにプッシュされると、トリガー URL がが呼び出され、展開タスクが実行されます。
結論:
Deployer を使用すると、PHP プロジェクトの継続的な統合とデプロイを簡単に実現できます。この記事では、Deployer のインストールと構成、および Deployer を使用して展開タスクを実行し、継続的統合を実装する方法を紹介します。この記事が PHP プロジェクトの開発者に役立つことを願っています。
以上がDeployer を使用して PHP プロジェクトの継続的統合とデプロイメントを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。