ホームページ >バックエンド開発 >PHPチュートリアル >PHP プロジェクトで Deployer を統合および構成する方法

PHP プロジェクトで Deployer を統合および構成する方法

PHPz
PHPzオリジナル
2023-07-12 12:53:211142ブラウズ

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 は、さまざまなプロジェクトのニーズを満たすために、より多くの構成とカスタム タスクをサポートしています。一般的な構成タスクとカスタマイズ タスクの例をいくつか示します。

  1. 書き込み可能なディレクトリを設定します。
    一部のディレクトリはすべての展開に書き込む必要がある場合があります。set 関数を使用して、これらのディレクトリを定義します:
set('writable_dirs', ['var/logs', 'var/cache']);
  1. カスタム タスク: キャッシュをクリアし、サービスを再起動します:

    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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。