ホームページ  >  記事  >  バックエンド開発  >  PHP アプリケーションを簡単にデプロイ: デプロイヤーの高度なスキルと実践

PHP アプリケーションを簡単にデプロイ: デプロイヤーの高度なスキルと実践

WBOY
WBOYオリジナル
2023-07-12 11:18:081460ブラウズ

PHP アプリケーションの簡単なデプロイメント: デプロイヤーの高度なスキルと実践

はじめに:
現代の Web 開発では、開発した PHP アプリケーションをサーバーにデプロイする必要がよくあります。これには、コードのパッケージ化とアップロードが含まれます。ローカル サーバーからリモート サーバーへの移行、一連の展開タスクの実行など。 Deployer は強力で使いやすい PHP デプロイメント ツールであり、これらのデプロイメント タスクを簡単に完了し、開発効率を向上させるのに役立ちます。この記事では、開発者が Deployer をより効果的に使用して PHP アプリケーションをデプロイできるように、Deployer の高度なスキルと実践方法を紹介します。

1. Deployer のインストール
まず、Composer を介して Deployer をインストールする必要があります。ターミナルを開き、PHP プロジェクトのルート ディレクトリに入り、次のコマンドを実行して Deployer をインストールします。

composer require deployer/deployer --dev

インストールが完了すると、Deployer のコア コードがベンダー ディレクトリにダウンロードされます。

2. デプロイメント スクリプトを作成する
Deployer デプロイメント スクリプトを作成するために、プロジェクトのルート ディレクトリに deploy.php ファイルを作成します。 deploy.php ファイルの例を次に示します。

<?php
require 'recipe/common.php';

// 项目名称
set('application', 'MyApp');

// 项目仓库地址
set('repository', 'git@github.com:username/repo.git');

// 部署服务器
server('production', 'example.com', 22)
    ->user('deploy')
    ->identityFile('~/.ssh/id_rsa')
    ->set('deploy_path', '/var/www/html');

// 部署任务
task('deploy', function () {
    // 克隆最新的代码到指定目录
    run('git clone {{repository}} {{release_path}}');

    // 安装依赖包
    run('cd {{release_path}} && composer install --no-dev');

    // 执行其他的部署任务

    // 设置软链
    run('ln -nfs {{release_path}}/public {{deploy_path}}/current');
});

// 执行部署任务
after('deploy', 'success');

この例では、サーバー アドレス、ユーザー名、秘密キー ファイルを指定して、production という名前のサーバーを定義します。そして展開ディレクトリ。デプロイメント タスクでは、まず git を介して指定されたディレクトリに最新のコードのクローンを作成します。次に、composer install を実行して依存パッケージをインストールし、最後にソフト リンクを設定してコードを指定されたディレクトリにデプロイします。

3. デプロイメントの実行
デプロイメント スクリプトの作成が完了したら、コマンド ラインからデプロイメント タスクを実行できます。ターミナルでプロジェクトのルート ディレクトリを入力し、次のコマンドを実行します。

dep deploy production

このコマンドは、コードをパッケージ化して指定されたサーバーにアップロードし、デプロイメント タスクで定義された一連の操作を実行します。デプロイメント タスクの実行中、Deployer は出力をターミナルにリアルタイムで表示するため、開発者はデプロイメントのステータスをリアルタイムで確認できます。

4. 高度なスキルと実践スキル
Deployer には、基本的なデプロイメント機能に加えて、多くの高度な機能と実践的なスキルも用意されていますので、以下にその一部を紹介します。

  1. 複数環境の展開: 複数環境の展開は、テスト環境、プレリリース環境、運用環境などのさまざまなサーバーと展開タスクを定義することで実現できます。
server('staging', 'staging.example.com', 22)
    ->user('deploy')
    ->identityFile('~/.ssh/id_rsa')
    ->set('deploy_path', '/var/www/staging');

task('deploy:staging', function () {
    // 部署到测试环境
});
  1. Deployer プラグインの使用: Deployer は、自動展開、データベース移行、ファイル バックアップ、その他の機能を実現できる便利なプラグインを多数提供しています。これらのプラグインは Composer を通じてインストールし、展開スクリプトで有効にすることができます。
// 安装deployer/recipes插件,用于自动化部署
composer require deployer/recipes

require 'recipe/laravel.php'; // 启用Laravel插件
require 'recipe/phinx.php'; // 启用Phinx插件
  1. 独自のデプロイメント タスクのカスタマイズ: Deployer を使用すると、開発者は独自のデプロイメント タスクを完全にカスタマイズできます。プロジェクトのニーズに応じて特定のタスク関数を作成し、デプロイメント スクリプトで呼び出すことができます。 。
task('deploy:my_task', function () {
    // 自定义的部署任务
});

after('deploy', 'deploy:my_task');

概要:
強力で柔軟な展開ツールである Deployer を使用すると、PHP アプリケーションの展開を簡単に完了できます。この記事では、Deployer の基本的な使用法を紹介し、サンプル コードを使用して展開スクリプトを作成し、展開タスクを実行する方法を示します。さらに、開発者が Deployer をより適切に適用して開発効率を向上できるようにするために、Deployer の高度なテクニックと実践方法もいくつか紹介しました。

以上がPHP アプリケーションを簡単にデプロイ: デプロイヤーの高度なスキルと実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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