PHP プロジェクトで Deployer を統合および構成する方法
概要:
PHP プロジェクトのデプロイメント プロセスでは、自動化ツールを使用することが非常に必要です。 Deployer は、プロジェクトの自動デプロイメントの実現に役立つ PHP ベースのデプロイメント ツールです。この記事では、PHP プロジェクトに Deployer を統合および構成する方法と、いくつかの一般的な構成およびサンプル コードを紹介します。
1. Deployer のインストール:
まず、プロジェクトに Deployer をインストールする必要があります。 Composer を使用してインストールするのが最も簡単な方法です。ターミナルを開き、プロジェクトのルート ディレクトリに切り替え、次のコマンドを実行します。
composer require deployer/deployer --dev
これにより、Deployer がプロジェクトにインストールされ、開発の依存関係に追加されます。
2. Deployer の設定:
プロジェクトのルート ディレクトリにdeploy.php ファイルを作成します。これが Deployer 設定ファイルになります。 deploy.php ファイルでは、ターゲットサーバーのホスト、ユーザー名、パスワードなどの基本情報を構成する必要があります。
<?php require 'recipe/common.php'; // 项目名称 set('application', 'your_project_name'); // 需要发布的代码库地址(可以是 Git、SVN 等) set('repository', 'git@github.com:your_username/your_project.git'); // 部署的目标服务器 server('production', 'your_server_hostname') ->user('your_server_username') ->password('your_server_password') ->set('deploy_path', '~/your_deploy_path'); // 可选:生成版本号(根据 Git 提交信息生成) set('keep_releases', 5); set('release_name', function () { return date('YmdHis') . '_' . strtolower(deployer_run('git log -n 1 --format="%h"'))->toString(); }); // 自定义任务:重启服务 task('service:restart', function () { run('sudo service your_service_name restart'); }); // 在部署成功后执行自定义任务 after('success', 'service:restart');
上記のサンプル コードは、最も基本的な Deployer 構成を示しています。実際の状況に応じて変更する必要があります。このうち、your_project_name
はプロジェクトの名前、your_username
はコード ベースのユーザー名、your_project
はコード ベースの名前、 your_server_hostname
はターゲットです。 サーバーのホスト名です。 your_server_username
は、ターゲット サーバーのユーザー名です。 your_server_password
は、ターゲット サーバーのパスワードです。 your_deploy_path
はターゲット サーバー上のプロジェクトのデプロイ パスです。your_service_name
は再起動する必要があるサービスの名前です。
3. Deployer を使用してデプロイメントを完了します:
構成が完了したら、次のコマンドを使用してデプロイメントを実行します:
vendor/bin/dep deploy production
デプロイメントが成功すると、コードは次のようになります。ターゲット サーバーにプッシュされ、パスを指定してカスタム タスクを実行します (ここではサービスを再起動します)。
4. より多くの構成とカスタム タスク:
Deployer は、さまざまなプロジェクトのニーズを満たすために、より多くの構成とカスタム タスクをサポートしています。一般的な構成タスクとカスタマイズ タスクの例をいくつか示します。
set
関数を使用して、これらのディレクトリを定義します: set('writable_dirs', ['var/logs', 'var/cache']);
カスタム タスク: キャッシュをクリアし、サービスを再起動します:
task('cache:clear', function () { run('cd {{release_path}} && php bin/console cache:clear'); }); task('service:restart', function () { run('sudo service your_service_name restart'); }); // 在部署完成后依次执行清理缓存和重启服务 after('deploy:locked', 'cache:clear'); after('success', 'service:restart');
上記のサンプル コードは、タスクをカスタマイズする方法を示しています。キャッシュを削除してサービスを再起動します。カスタム タスクを構成すると、展開の完了後にいくつかの追加アクションを実行できます。
結論:
PHP プロジェクトでは、Deployer は非常に便利な自動デプロイメント ツールです。シンプルな構成とカスタマイズのタスクを使用して、プロジェクトのデプロイメントを簡単に自動化できます。この記事があなたのお役に立てば幸いです。コーディングを楽しんでください。
以上がPHP プロジェクトで Deployer を統合および構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。