私は現在、新しいビルド サーバーをセットアップしています。Hudson や CruiseControl.NET など、ビルド プロセスを簡素化し、付加価値を与えるソフトウェアについて、コミュニティからの提案に興味があります。
以前は、msbuild などのツールを実行するカスタム バッチ ファイルを使用してビルド サーバーをセットアップしていましたが、これらはサブバージョン フックによってトリガーされ、ブランチごとに継続的なビルドを実行できるようにしていました。最終的には、自動化されたテストや静的分析も実行する予定でしたが、実際にはそこまで到達することはありませんでした。このサーバーは、ソース コード リポジトリ、Web プロジェクト ビルド用のテスト マシン、チームの開発者向けのカスタム ダッシュボードおよびポータル用の Web サーバーとしても機能しました。
この時点で、私の考えでは、古いビルド サーバーの役割の一部と、少なくともビルドの作成のみを担当するビルド サーバー、開発者向けのイントラネット スタイルのダッシュボード サイトとして機能する Web サーバー、およびおそらくSubversion リポジトリとしての追加の Web サーバー。Subversion コードを SvnServe と同じサーバーに置いた方が良い、または簡単であることが判明した場合は、おそらく Subversion リポジトリを Web サーバーに配置することを選択しますが、ビルド サーバーは別のままにします。一般的なビルド サーバーや CI ソリューションを個人的に使用した経験がないので、CruiseControl.NET、Hudson、またはその他のソリューションがこのタイプの構成にどのように適合するのか興味があります。どちらもCCのようです。
テクノロジーに関しては、Web/WinForms/WPF を組み合わせた .NET/C# ベースのコードを扱っており、これらのプロジェクトをホストするためにいくつかの個別の Subversion リポジトリを使用しています。さらに、いくつかのレガシ アプリケーションに対して Visual FoxPro と Visual Source Safe をサポートするとよいでしょう。また、ビルドの監視に関与するチーム メンバーを増やしたいと考えています。最終的には、開発者が自分のプロジェクトのビルド セットアップをできるだけ簡単に作成できるようにしたいと考えています。また、IIS で Java ベースの Web アプリケーションをセットアップした経験はありませんが、ASP.NET アプリケーションのセットアップと管理にはかなりの経験があります。違うと確信。
更新 (Hudson を調査した後): Hudson に関するすべての推奨事項の後、2 台の Windows 2008 サーバーで Hudson を起動して実行するために何が必要かを調べ始めました。私が収集できることから、Web 部分 (マスター) は Web サーバーで実行されますが、IIS はサポートされていないようです。他の Web アプリケーションと同じマシンでホストしたいので、これは非常に複雑になります。ビルド サーバーには、スレーブとして機能し、マスターによって委任されたビルドのみを実行する Hudson の 2 つ目のコピーをインストールします。これを機能させるには、Hudson を Windows サービスとしてインストールし、いくつかのUNIX 互換性ユーティリティもインストールする必要があります。残念ながらUnxUtils ダウンロード リンクチェックしたところ壊れているように見えるので、解決するまで先に進むことはできません。CruseControl.NET のインストールよりも複雑ではないにしても、これらすべては実際には同じくらい複雑に聞こえます。残念ながら、今のところ、CruiseControl.NET と TeamCity を調査する必要があります。
更新 (TeamCity について) : TeamCity をもう少し詳しく調べたところ、少なくともサーバー部分も Java で記述されており、Hudson と非常によく似た方法でデプロイされていることがわかりました。幸いなことに、IIS 内でサーブレットをホストするために Tomcat を使用できるようですが、実際にこれを行う方法を説明するわかりやすいガイドは見つかりません。そのため、今のところそれをスキップして、主要な思わぬ障害のように見えるものに遭遇したときに、さらに調べました。
TeamCity Professional エディションは、TeamCity デフォルト認証のみをサポートし、認証方式の変更はサポートしていません。
Windows認証は私たちが望む方向である可能性が高いため、UnxUtilsを手に入れ、ダッシュボードをホストする方法についてさらに知ることができれば、CruiseControl.NETまたはおそらくHudsonの評価に戻る可能性があるようです.既存の IIS 構成内の Hudson の一部。ポインタはありますか?
UPDATE(Jenkinsについて):Hudsonで十分に実験して、満足のいく合理的なビルドサーバーのセットアップになり、必要に応じてさらに多くのことを実行できるように拡張できました。もちろん、オラクルがハドソンを買収した後、私はジェンキンスに変換する道を歩みました。ジェンキンスは、物事を結びつけるのに役立つ少しのパワーシェルで今日使用しているものです。Jenkins は、Java ベースであることに加えて、.NET や MSBuild などの他の開発環境をかなりサポートしています。