ホームページ  >  記事  >  バックエンド開発  >  Deployer を使用して PHP プロジェクトの継続的統合とデプロイメントを実装する

Deployer を使用して PHP プロジェクトの継続的統合とデプロイメントを実装する

WBOY
WBOYオリジナル
2023-07-13 20:21:101037ブラウズ

Deployer を使用して PHP プロジェクトの継続的インテグレーションとデプロイメントを実装する

はじめに:
現代のソフトウェア開発では、継続的インテグレーションとデプロイメントがプロジェクト開発における重要なリンクの 1 つになっています。人気のある PHP デプロイメント ツールとして、Deployer はプロジェクトの自動デプロイメントの実現に役立ち、それによって開発効率が向上し、エラーが減少します。この記事では、Deployer を使用して PHP プロジェクトの継続的統合とデプロイメントを実装する方法を紹介し、いくつかのコード例を示します。

1. デプロイ環境の準備

  1. Deployer のダウンロードとインストール
    まず、ローカル マシンに Deployer をインストールして設定する必要があります。 Deployer は次の方法でダウンロードしてインストールできます。

    $ curl -LO https://deployer.org/deployer.phar
    $ mv deployer.phar /usr/local/bin/dep
    $ chmod +x /usr/local/bin/dep
  2. 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 を組み合わせることができます。具体的な手順は次のとおりです。

  1. コード ウェアハウスに Webhook を設定する
    コード ウェアハウスの Webhook 設定ページにログインし、Webhook の URL をトリガー URL として設定します。デプロイメントタスク。
  2. デプロイメント タスクのトリガー条件を構成する
    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 サイトの他の関連記事を参照してください。

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