私はウェブサイトを展開するいくつかの方法を知っています:
それぞれの長所と短所を見ることができます。新しいサイトORサイトの変更を展開する最も効果的な方法についてコンセンサスはありますか?
Stack Overflowで最適に機能した(そして Joel Testのポイント2 を満たす)のは 継続的統合 ソリューションであり、クリックするだけで本番サイトを構築できます。新しいコードのチェックイン時の開発者層の自動ビルドも同様です。
CruiseControl の.NETフレーバーを、エキサイティングな名前で使用します。 CruiseControl.NET :)
主要な機能 の一部は次のとおりです。
- さまざまなソース管理システムとの統合
- NAntやVisual Studioなどの他の外部ツールとの統合
- 1つのサーバーで複数のプロジェクトを構築できます
- リモート管理とレポート
このオープンソースソフトウェアに非常に満足しており、ビルドプロセスの合理化を希望するすべてのチームにお勧めします。
自動化された繰り返し可能なデプロイが好きです。ソース管理タグから始めて、デプロイした内容を正確に把握し、いつでも再デプロイできるようにします。次に、スクリプトを使用して、それをサーバーにプッシュします。これは、カピストラーノに沿ったもの、または単に自家製のbashスクリプトなどです。
コンパイルされたコードを使用するサイトの場合、テストサーバーが運用サーバーと一致する場合は、おそらくコードを1回コンパイルし、テスト後に同じコンパイルバージョンを運用にプッシュすることをお勧めします。
カスタムスクリプトを使用します。静的な(HTMLベースの)Webサイトの場合、新しいバージョンとインストールされたバージョンで二重ディレクトリを使用し、スクリプトは新しいバージョンとインストールされたバージョンで再帰diff
を実行し、変更されたファイルのみをアップロードします.
私はgitをデプロイ用にカスタマイズされたいくつかのフックとともに使用します。これには、dev/test/beta/productionサイトに対して複数のブランチを実行し、CIを実行できるという利点もあります。緊急パッチの場合、gitは常に特定のコミットをあるブランチから次のブランチにチェリーピックすることを許可します。