私は現在、バージョン管理にAhnkSVNと Visual Studioを介してSubversionを使用しています。私は最近、自分のプロジェクトを設定するためにTree Surgeonを使い始めました。NAntを使用してビルド スクリプトを自動的に作成します。SVN 内の定期的なプロジェクトのビルドを自動化できるようにしたいと考えています。チェックインのたびにビルドを行うというアイデアが気に入っていますが、夜間のビルドも同様に機能します。より多くの情報や私の考えを提供したいと思いますが、それを開いたままにして、SO コミュニティが何を言わなければならないかを確認することにしました。
10 に答える
CruiseControl.Netを使用できます。これは、すべてのチェックイン、夜間ビルド、または実行したい方法でビルドを実行できます。Google で簡単に検索すると、CC.Net はすでにNAnt と統合されていることがわかります。
他の人が言及したように、ここでは CCNET を使用します。これは通常、夜間のビルドでは作業しませんが、代わりに継続的インテグレーション戦略 (すべてのチェックイン) を使用します。
チェックインごとに実行する単体テスト、FXCop テスト、およびその他の多数の製品を非常に簡単に設定できるため、自分でもチーム内でも同じことを行うことをお勧めします。
それが 1 人のチームのあなただけで、外出先であまり多くのプロジェクトを持っていない場合は、オプションとしてTeam Cityをチェックすることをお勧めします。よりシンプルです(私には見栄えがします)。
そうは言っても、私たちは CCNET から始めて、無料版の Team City を見るには大きすぎる製品をいくつか成長させましたが、私たちが持っているものには非常に満足しています.
CCNET に役立つ機能は次のとおりです。
- XML ベースの構成 - 通常、必要なもののほとんどをコピーして貼り付けることができます。
- 多かれ少なかれ、treesurgeon スクリプトをビルド スクリプトとしてプラグインし、コンパイルを実行する実行可能タスクとして CCNET をポイントすることができます。
- 多くのドキュメントと、nunit、ncover、fxcop などのセットアップが非常に簡単です。
- プロジェクトのステータスをいつでも知らせてくれるタスクバー アプリで、同じ情報を電子メールで送信したり、RSS フィードを保持したりすることもできます。
しかし、チェックインのたびに CI ビルドを実行することは間違いありません。ほとんどの場合、チェックイン前に単体テストを実行しますが、アセンブリに依存するアプリケーション/アセンブリは CCNET サーバー ハンドルに実行させます。再チェックインすると、再構築され、チェックインのたびに再テストされます。
無料で、セットアップにほとんど時間がかからないことを考えると、ぜひ試してみることを強くお勧めします。
私の意見では、CruiseControl.NET が最良の選択肢です。必要に応じてカスタム タスクで拡張するのはかなり簡単で、そのままで NAnt と MSBuild の両方で動作し、非常に積極的に保守されています。
TeamCityをお勧めします。:)
また、 Draco.NETもあります。これは CruiseControl.NET に触発されたもので、もう少し軽量です。両方の継続的インテグレーション ソリューションの詳細については、この記事を参照してください。
FinalBuilderを数年使用しています。FinalBuilderの利点は、ビルドだけではないことです。結果の分析、ビルドのアーカイブの作成、エラーログの送信などを行うように設定しました。最新バージョンには、専門家がクリックでビルドを開始できないWebインターフェイスがあります。
Cascadeは、リポジトリにコミットされたすべての変更のビルドをサポートしています。
ビルド サーバーの NAnt と MsBuild の両方で CruiseControl.NET を使用します。コードをチェックインするたびにビルドが行われるように構成し、夜間のビルドも行いました。
CI-Factory を検討することをお勧めします。これは、CruiseControl.NET とその他の多数のツールを使用する継続的インテグレーション環境ビルダーです。ここに優れたスクリーンキャストがあります: http://www.dnrtv.com/default.aspx?showID=64