私たちは専用のDEV、TEST、STAGE、およびPRODUCTIONサーバーを持っています。
クルーズコントロールを実行する専用のビルドマシンもあります。
クルーズコントロールは、コードがチェックインされた後に実行される継続的インテグレーションビルド用に構成されています。また、開発、QA、ステージ、およびプロダクションタスクごとに構成されています。
開発用にデプロイするには、まずコードをSVNから取得してビルドし、「プリコンパイル済みWeb」フォルダを開発用Webサイトにコピーし、Webサービスプロジェクトを開発用アプリケーションサーバーにコピーします。クルーズコントロールは、ビルドが開始される前にソースコードに「タグ付け」するように設定されているので、後でビルドを再現することも、ホットフィックスを行う必要がある場合にタグから分岐することもできます。
QAに展開する場合、ファイルは開発マシンからQAマシンにコピーされます。
同様に、ステージに展開するには、ファイルがQAマシンからステージマシンにコピーされます。
最後に、本番環境にデプロイするために、ファイルがステージマシンから本番マシンに再度コピーされます。
各環境を設定するには、接続文字列を変更する各環境のCruise Controlタスクの一部であるカスタムツールがあります。「debug = true | false」、「customErrors = Off | RemoteOnly」などの環境固有の設定。
各環境は、クルーズコントロールダッシュボードからボタンを押して展開できます。
現在、Cruise Controlの設定ファイルでプロダクションデータベースのパスワードが設定されていますが、他の場所に移動すると便利です。
最後に、私たちのプロダクションマシンが専用のホスティングファシリティにあるにもかかわらず、サーバーはクルーズコントロールマシンからアクセス可能であるため、プロダクションデプロイメントは非常に簡単です。唯一の手作業は、web.configファイルを暗号化して、Cruise Controlが提示する "AppOffline.html"ファイルを削除することです。
これが役立つのか、ご不明な点がありましたら教えてください。
ありがとうございます!
私はこのオリジナルの質問を投稿して以来、私はWiXを発見しました。オープンソースで無料です。また、MicrosoftがOffice 2007の展開パッケージを開発するために使用したものです。基本を理解すれば使いやすいように見えます。このインターフェイスでは、インストール時にコンポーネントを選択して選択することができます。 – Hooloovoo
更新のみ。アプリケーションのリリース自動化ツールは、この目的のために特別に設計されています。比較対象のツールがたくさんあります。https://en.wikipedia.org/wiki/Application_release_automation –