2

私は現在、新しいビルド サーバーをセットアップしています。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 などの他の開発環境をかなりサポートしています。

4

5 に答える 5

3

ここでTeamCityに投票します。立ち上げて実行するのは非常に簡単で、すべての .NET と問題なく統合できます。ビルド自体は、要件に応じてビルド サーバーまたは別のマシン上にあるエージェントによって実行されます。別の国の別のネットワーク上でまったく異なる OS を実行しているマシン上にある場合もあります。

于 2010-09-03T18:38:04.673 に答える
1

ハドソンの使用を強くお勧めします。.NETアプリケーションを継続的に構築できるだけでなく、コード分析や単体テストも実行できます。インストールは簡単で(TomcatなどのWebサーバーにWARファイルをデプロイするだけです)、多くの構成オプションがあります。使用できるプラグインも多数あり、その多くは他のHudsonユーザーによって作成されています。何よりも、無料で積極的にサポートされています。

于 2010-09-03T13:55:02.927 に答える
1

意思決定プロセスでは、次の概要から始めました。

http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix

私たちの主な目的は Java で、6 か月間誰もジョブを作成しなかった後でも簡単に構成/使用できます。誰も実際に使い方を知らなかったため、Cruise Control の古いバージョンから離れました。単なる継続的インテグレーションを超えたい場合は、一部の商用製品が優れています。見て、自分で決めてください。

注意してください、このマトリックスがどの程度最新のものかわかりません。そのため、一部のプロジェクトは現在、より多くの機能を実装している可能性があります。

興味深い代替手段は、Atlasian の Jira studio です。ホストされたバージョンを使用する場合、サポートの問題はあまりなく、Subversion、Bamboo、およびグッズ (jira + greenhopper、confluence、crucible、fisheye) が付属しています。http://www.atlassian.com/hosted/studio/

于 2010-09-03T18:33:05.627 に答える
0

ワイアット・バーネットに同意します。TeamCityが最良の選択です。構成と使用は非常に簡単です。さらに、TeamCity には無料の Professional Edition があります。以前は、プロジェクトで CruiseControl.NET を使用していました。これも強力なツールですが、非常に複雑で理解しにくいものです。

于 2010-09-04T11:33:33.483 に答える
0

s.ermakovich のコメント: TeamCity と Hudson はどちらも、Web UI をビルド エージェントから分離します。ビルド エージェントに IIS をインストールする必要はありません。任意のビルド ノードに JVM とエージェント ソフトウェアをインストールする必要があります。非常に簡単です。

于 2010-09-11T07:38:53.980 に答える