Symfony プログラムをデプロイする方法
Symfony のデプロイは、アプリケーションの設定とニーズに応じて、複雑で多様なタスクになる可能性があります。この記事はステップバイステップのガイドではなく、導入時の一般的な要件と推奨事項のリストです。
Symfony デプロイメントの基本 ¶
Symfony をデプロイするときに発生する一般的な手順は次のとおりです:
- アップロード コードを入力します。運用サーバーへ;
- サードパーティの依存関係をインストールします (通常は Composer を通じて実行され、プログラムをアップロードする前に実行できます);
- データベース移行 (移行) または同様のタスクを実行して更新します。データ構造が「変更されました」;
- キャッシュをクリアします (オプションでウォームアップします)。
展開プロセスには、次のような他のタスクも含まれます。
- コードの特定のバージョンをバージョン ライブラリ内のリリースとしてタグ付けする;
- ステージング領域を作成して、「オフライン」オフライン更新セットアップを構築します。
- 利用可能なテストを実行して、コードやサーバーの安定性を確認します。
- From
web/
ディレクトリを削除します。運用環境をクリーンに保つために不要なファイルをすべて削除します。 - 外部キャッシュ システム (Memcached や Redis など) をクリアします。
Symfony プログラムをデプロイする方法 ¶
Symfony プログラムをデプロイするにはいくつかの方法があります。いくつかの基本的な展開戦略から始めて、そこから進めていきます。
基本的なファイル転送 ¶
プログラムを展開する最も基本的な方法は、FTP/SCP (または同様の方法) を介してファイルを手動でコピーすることです。欠点は、たとえば、アップグレード プロセス中にシステムを制御できないことです。この方法では、ファイル転送後にいくつかの手動手順を実行する必要もあります (一般的な展開後のタスクを参照)。
バージョン管理を使用する ¶
バージョン管理 (Git や SVN など) を使用する場合は、リポジトリへのライブ インストールのコピーを直接作成できます。アップグレードの準備ができたら、バージョン管理システムから最新のアップデートを取得するのと同じくらい簡単です。
これにより、ファイルの更新が 簡単になります ただし、追加の手順を手動で実行することを検討する必要があります (一般的な展開後のタスク を参照)。
プラットフォームサービスを使用する ¶
あまり使用されない 関連ニーズのあるユーザーは、Symfony 公式 Web サイトの原文を参照してください。さらに、Microsoft Azure などの最新のクラウド プラットフォームは、ワンステップで Symfony3 をサポートできます。
特別な展開手順はサービス プロバイダーによって大きく異なるため、次の独立した記事から目的のサービスを見つけてください:
ビルド スクリプトとその他のツールの使用 ¶
展開の苦痛を軽減するのに役立つツールがいくつかあります。それらのいくつかは、Symfony のニーズに合わせてほぼカスタマイズされています:
- Capistrano Symfony プラグインと連携します
- Capistrano は、Ruby で書かれたリモート サーバー自動化およびデプロイメント ツールです。 Symfony plugin は、Capifony からインスピレーションを得た、Symfony 関連のタスクを簡素化するプラグインです (Capistrano 2 でのみ動作します)
- sf2debpkg
- Symfony プロジェクト用のネイティブ Debian パッケージの構築を支援します。
- Magallanes
- この「Capistrano のような」展開ツールは PHP に組み込まれており、PHP 開発者がニーズを拡張しやすくなっています。
- ファブリック
- この Python ベースのクラス ライブラリは、「ローカルまたはリモートのコマンド ラインの実行とファイルのアップロードとダウンロード」のための基本スイートを提供します。
- Deployer
- これは、ネイティブ PHP から書き直されたもう 1 つの Capistrano で、Symfony 向けに特別に提供された機能がいくつかあります。
- バンドル
- Symfony コンソールで直接使用できるデプロイメント機能を追加した バンドルがいくつかあります。 基本スクリプトもちろん、コマンド ライン、
- Ant、またはその他のビルド ツールを使用して、プロジェクトのデプロイメントのスクリプトを作成することもできます。
¶
実際のソース コードをデプロイした後、実行する必要がある一般的な作業がいくつかあります。 A) 要件のチェック¶
次のコマンドを実行して、サーバーが要件を満たしているかどうかを確認します。$ composer install --no-dev --optimize-autoloader |
フラグは、開発環境パッケージが運用環境にインストールされないようにします。
prod 環境で実行されるようにします。
D) Symfony キャッシュのクリア
¶
1
##E) Assetic リソースのストリップ ¶ |
##1
#
$ php bin/console assetic:dump --env=prod --no-debug