2009-06-26 11 views
3

SVNリポジトリのコミット時に自動的にアプリケーションをビルドし、テスト/ホモロゲーションサーバーにデプロイするようにサーバーを設定したいとします。私は何を計画して何C#/ Asp.Net 3.5アプリケーション自動ビルダーサーバーの設定に関する疑問

  • ビルドツールをインストールします(?ナントのMSBuildを使うのか?)。
  • 単純なスクリプトを作成し、ビルドとデプロイのプロセスを開始するSVNにフックを設定します。

私のサーバーにインストールする必要があるものは、.NET 3.5フレームワークです。 Nantはソリューションファイル(.sln)のみに基づいてアプリケーションを構築できますか?

私は少し調べましたが、Nantの最後のリリースv0.86 beta 1には、ソリューションターゲットは含まれていません。

他の方法がありますか?

現在、私はVS2008ビルドシステムのみを使用しており、MSBuildは直接呼び出さないことに注意してください。それはサーバー環境でセットアップするのが実現可能で簡単ですか?

答えて

1

私たちはそれを行うためにHudsonを使用します。前に述べたように。 MsBuild(およびNant)をサポートしています。私たちは、デバッグ/リリースのようなソリューションファイルとビルド構成をパラメタとしてmsbuildを使用します(異なるweb.configのデプロイメントとwatin構成を作成しました)。ビジュアルスタジオでは、ソリューションファイル以外の余分なタスクやスクリプトは必要ありません。

さらに、デプロイメントの前に、ビルドの結果であるwebserver(cassini)をセットアップして、nunit(watin)テストを実行します。すべてのHudsonを通して、nunitテスト結果の素敵な図が表示されます。

TeamCityとCruiseControl.Netは同じことをすることができるはずですが、hudsonがセットアップと設定のスナップであることがわかりました。

これはSourceCopとFxCopの結果をサポートしているため、図で表示して特定の警告がソースファイルに適用される場所を見ることができます。ウェブインターフェース

+0

私はそれについて研究します。もう1つの質問。 Visual Studioのコピーをサーバーにインストールするか、msbuildディレクトリをコピーするだけで十分ですか(私がどこかに書いたように...)? – Seiti

+0

msbuild.exeが.NET Frameworkと共にインストールされていることがわかりました....ところで、私はHudsonをインストールして設定しました。それは本当に素晴らしいソフトウェアです。簡単にインストールでき、簡単に設定できます。 – Seiti

+0

私もそれを見つけましたが、私はまだそれについて苦情はありません。来月、私たちは異なるOSプラットフォームを持つ異なるVMのエージェントを使ってビルドを試みます。私はそれを試して待つことができません。 – Cohen

2

CruiseControl.NETまたはTeamCityをそのまま使用してください。 多くの機能を備え、設定が簡単な本格的な継続的インテグレーションサーバです。

1

ハドソンまたはクルーズコントロールを使用できます。

これらは継続的インテグレーションサーバーであり、展開前にユニットテストを実行することもできます。

1

あなたはCruise Control.Netのインストールを検討していると思います。あなたのSCMリポジトリを自動的にチェックし、必要なビルド関連のものを自動的に処理します。 NAntのか、MSBuildのためとして

http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET

- それは個人的な選択です。 NAntがしばらく更新されていないので、私はMSBuildに行った。それは言われている - 彼らはあなたが探しているものは何でも何でもすることができます。

メモ - Visual Studioでコンパイルする場合、MSBuildを使用しています。 Cruise Control.netを通じてMSBuildでSLNファイルまたはPROJファイルをターゲットにすることができます。

1

私はTeamcityを使用しています。セットアップが非常に簡単でした。その前に私はプレーンなナントを使いました。 Teamcityサーバーは現実に変化をもたらしました。チーム内のすべての人がビルドサーバー上で何が起こっているのかを理解できるようになったからです。

最大20のプロジェクト構成で無料です。

Asp.Netの場合は、任意のタイプのビルドサーバーにもWeb Deployment Projectが必要です。

本当にあなたはslnを構築する必要がありますか?典型的なASP.NETプロジェクトの場合、これは最善の方法ではありません。通常、WebDeploymentProjectを構築します。とにかくTeamcity(と私が推測する他のbuildservers)slnファイルを理解します。

+0

私は確信していませんが、私はそのプロセスを自動化することが可能な私の仲間を見せてくれるようにslnを構築する必要があります。その後、私はWeb Deployment Projectで作業します=)新しい機能をゆっくりと提示する必要があります... – Seiti

+0

それは巧妙な戦略です。私はチームに話す前にビルドサーバーを2週間実行していました。私は彼らが私の肩を見て、彼らもそれが欲しいと私に言いたいと思うのが好きです。 –

関連する問題