2008-09-16 19 views
1

私は各開発者が自分のローカルデスクトップから作業し、ネットワーク上で所有している仮想マシンに展開するチーム環境で作業しています。私がしようとしているのは、Visual Studioソリューションをセットアップしてソリューションをビルドするときに、各プロジェクトのデプロイメントがビルド後のイベントでその開発者の仮想マシンに処理されるようにすることです。チーム環境でVisual Studioのポストビルドを展開する最良の方法は?

私が実際にやってみたいのは、それらのスクリプトの所有権を個々の開発者にも与えることです。彼らはポストビルドのステップを所有していて、すべての人に同じである必要はありません。

質問のカップル:

  • はポストビルドイベント展開操作のこのタイプを実行するための場所ですか?それをするのに最適な場所は何ですか?
  • これらのシナリオをサポートする自動展開システムの開発を支援するためのソフトウェア、ツール、またはチュートリアル/ブログの投稿はありますか?

編集: MSBuildがこのような状況になる方法です。誰もが成功した代替技術を使用していますか?

編集:この質問を読んで、開発者ごとに異なるセットのMSBuildタスクを実行する方法が不明な場合は、この質問を参照してください。 Executing different set of MSBuild tasks for each user?

答えて

1

をMSBuildのに見るか、ANTと思い、プロジェクトファイルは、MSBuildのファイルです。 MsBuildファイルには、 "AfterBuild"というターゲットがあります。ポストビルドイベントの代わりに、これを使用してデプロイメントタスクを行うことをお勧めします。

MSBuildタスクを使用すると、CruiseControl.NETまたはTeam Cityのような継続的インテグレーションシステムに移行する準備が整います。

すべての開発者が独自の仮想マシンを持っている理由はわかりませんが、ある時点で、すべての開発者が作業する中央の場所が必要になるようです。すべての開発者のコ​​ードを統合して構築します(これがContinuous Integrationシステムを使用する理由です)。このシナリオでは、CruiseControl.NetまたはTeam Cityまたはその他の選択肢の1つが役立つ方法を見つけることができると確信しています。しかし、最初の設定を取得する限り、MSBuildを使用してください。

+0

私たちはステージングとテストのための共通の環境を持っていますが、私は開発者がそれぞれのビルドでお互いに展開することを望んでいません。しかし私は彼らに彼らのマシンにWin 2k8、SQL、MOSSなどをインストールするように頼むことなく、実際のサーバを提供したいと思っています。 MSBuildはおそらく私たちにとって正しい答えです。 –

+0

CIツールを使用して、少なくとも1つの環境ですべての部分が常に実行されるようにすることをお勧めします。そして、自動テストにも取り組むことができます。 – NerdFury

+0

なぜ、開発者が互いにデプロイすることに懸念があるのですか?ソースコントロールを使用している場合は、すべて同じコードからビルドするべきではありませんか?また、チェックインされていないコードをデプロイするべきではありません。 – lordscarlet

1

あなたは、Visual Studio 2005以降を使用している場合、私は

関連する問題