Deployer を使用して PHP プロジェクトのシームレスなデプロイメントとロールバックを実現する
はじめに:
PHP プロジェクトの開発および保守のプロセスでは、効率的なデプロイメントとロールバックを実現する方法が非常に重要です。この記事では、優れたデプロイメント ツールである Deployer を使用して、PHP プロジェクトのシームレスなデプロイメントとロールバック操作を実現する方法を紹介します。
Deployer の概要:
Deployer は、PHP に基づいたオープン ソース デプロイメント ツールです。シンプルな DSL 構文と豊富な機能を提供し、効率的で正確かつ信頼性の高いプロジェクトのデプロイメントとロールバックを実現するのに役立ちます。 Deployer は、ファイルの直接コピー、バージョン管理システム (Git など) の使用など、さまざまな展開方法をサポートしており、タスクとタスク プロセスを自動化する機能、および柔軟な拡張性とカスタマイズ機能を備えています。
インストールと構成:
まず、Composer を介して Deployer をインストールする必要があります。ターミナルで次のコマンドを実行します。
composer require deployer/deployer --dev
インストールが完了すると、deploy.php
ファイルが Deployer 構成ファイルとしてプロジェクトのルート ディレクトリに生成されます。このファイルでそれに応じて設定する必要があります。
サンプル構成内容は次のとおりです:
<?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'); // 自定义任务 task('reload:php-fpm', function () { run('sudo systemctl reload php-fpm'); }); // 定义自动化任务流程 before('deploy', 'build'); after('deploy', 'reload:php-fpm');
上記の構成ファイルでは、対応するサーバー アドレス、ユーザー名、パスワード、デプロイメント ディレクトリ、Git ウェアハウスおよびその他の情報を次のように置き換える必要があります。実際のプロジェクトのニーズを満たします。 shared_files
、shared_dirs
、writable_dirs
、keep_releases
などの構成ファイル内の他のオプションは、実際のニーズに応じて調整できます。
デプロイ操作:
構成の完了後、ターミナルで次のコマンドを実行してプロジェクトをデプロイします:
dep deploy
デプロイメント プロセス中に、Deployer は最新バージョンのGit リポジトリ コードを作成し、サーバーによって指定されたディレクトリにコードをコピーし、構成された一連の自動タスクを実行します。プロセス全体は非常に高速で信頼性が高くなります。
ロールバック操作:
プロジェクトで問題が発生した場合、Deployer を通じてロールバック操作を実行し、プロジェクトを以前のバージョンに復元できます。次のコマンドを実行してロールバックを実装します。
dep rollback
Deployer は自動的に以前のバージョンのコードに切り替え、対応する自動タスクを実行します。
概要:
Deployer を使用すると、PHP プロジェクトのシームレスなデプロイとロールバック操作を実現でき、プロジェクトの開発と保守の効率が大幅に向上します。 Deployer は、柔軟な DSL 構文と強力な自動タスク機能を提供し、プロジェクトのデプロイメントとロールバックを迅速かつ正確に完了するのに役立ちます。この記事が皆さんのお役に立てれば幸いです、読んでいただきありがとうございます!
以上がDeployer を使用して PHP プロジェクトのシームレスなデプロイとロールバックを実現するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。