使用する CI ツールを探している Java ショップです。HudsonとTeamcityはどちらも無料のようですが、Teamcity の方が洗練されており、サポートも充実しています。
なぜまだハドソンを使用するのか、そしてどちらかの賛成/反対の議論を誰かが提供できるかどうか疑問に思っていましたか?
Team City は、群を抜いて最高の CI サーバーです。私にとってのキラー機能は、IDE (IntelliJ、Eclipse、および VisualStudio) との緊密な統合です。たとえば、IDE で編集しているファイルが古くなったとき、誰がそれを変更したか、何を変更したかを表示できます。IDE から CI サーバーにコミットし、ビルド グリッドでコンパイルとテストを実行すると、ビルドが成功すると CI サーバーがコミットします。CI Web アプリでビルド レポートをクリックすると、IDE で適切なファイルが開きます。
利用可能なプラグインがあります (私が書きました: http://team-piazza.googlecode.com ) が、多くはありません。
ハドソンの場合は+1。
Hudson は非常に活発なプロジェクトであり、幅広いユーザー コミュニティがあります。アクティブなユーザーのメーリング リストは、非常に簡単に開始でき、使いやすく、非常に巨大なプロジェクト (JBoss、JAX-WS など) で使用されており、成功の実績が証明されており、非常に優れた高度な機能を提供しています。機能 (例: ビルド マトリックス、ビルド クラスタリングなど)、オープン ソース、多くのプラグインがあります...
また、サポートが本当に重要な場合は、Sun から商用サポートを受けることができます。しかし、FWIW、ハドソンでブロッキングの問題に直面したことはありません。
更新:ご存知かもしれませんが、Kohsuke Kawaguchi (Hudson の作成者) は、Sun/Oracle を離れ、Hudson を次の段階に進めるために自分の会社 を立ち上げました。言い換えれば、これはハドソンにとって脅威ではありません。また、サポートが必要な場合は、サブスクリプション プランの一部としてHudson CI Server の認定バージョンを入手できます(この認定バージョンには、事前定義された一連のプラグインといくつかの商用プラグインを備えた Hudson の高品質リリースがバンドルされています)。
更新:それぞれのユーザー ベースのサイズを説明するために、Indeed (ライブ クエリ)でのいくつかの CI ツールの求人傾向の比較を次に示します。
もちろんこれはテクニカル指標ではありません。
いくつかの Flex プロジェクトで Hudson を使用して開始し、その後、.NET 開発者が CI の取り組みに参加したときに TeamCity に移行しました。これで、TeamCity サーバーをハドソンに戻しました。主な理由は次のとおりです。 - 活気に満ちた Hudson コミュニティ。サポートよりも優れています。- あらゆる種類のタスク用の膨大な量のプラグイン。- オープンソース。- Hudson は無料ですが、TeamCity は 10 プロジェクトのみ無料です。
編集: TeamCity は 20 プロジェクトで無料になりました。
TeamCity は、各開発者が独自のビルド プロファイルを持ち、IDE からそれに接続できるため、優れています。その孤独は「尻蹴り」です。GITなどのサポートもあります。マジで見てください。プロフェッショナル版は無料です。
Hudsonに対する最大の反論は、すべてのリリースで新しいバグが導入されるということです。
リリースは非常に頻繁に行われるため、遅れないように頻繁にアップグレードする必要があります。つまり、問題の診断と以前の Hudson リリースへのロールバックに多くの時間を費やす必要があります。(ロールバックができない場合もあります!)
私たちのショップでは継続的な展開を導入しています (コードをチェックインすると、実際のサイトに展開されます!)、Hudson と取り組まなければならないため、コストがかかりすぎます。
Hudson のバグのコストが理由で、TeamCity への移行を積極的に検討しています。
私は Teamcity がとても気に入りましたが、私が取り組んでいる環境では、Teamcity の発注書を管理層を通じて取得するのにかかる時間は、すべてを Hudson に移行するのにかかる時間を超えていた可能性があります。
私は以前に TeamCity と Jenkins (別名、新しいハドソン) を使用してセットアップしましたが、TeamCity はセットアップがはるかに洗練されていることに同意しますが、10 ユーザー以下のチームに対してのみ無料です。どちらのシステムもセットアップが非常に簡単で、十分にサポートされているプラグイン システムを備えています。TeamCity のキラー機能は、コードをソース管理にチェックインする前にコードをテストできる事前チェックイン ワークフローです。Jenkins の優れた点は、ユーザーが 10 人を超えてエージェントを構築しても完全に無料であることです。
私はクライアントにBambooを検討することを勧めてきました。その理由は(スペックシートを読んでから!)、TeamCityと非常によく似た機能が設定されているためです。ただし、主な利点は、機能/バグ追跡システムとして非常に人気のあるJIRAとの非常に緊密な統合です。完全なスイートは、JIRA、Greenhopper、Bamboo、およびEclipseです。かなりの数のクライアントがHPQualityCenterも持っており、それをJIRAに結合するプラグインもあります。また、JIRA、Bamboo、GreenHopperがすべてアトラシアンから来ているという事実も気に入っています。
私は hudson に慣れ始めたばかりで、実験して現在の環境にどのように適合するかを確認する準備ができています。私は Teamcity の経験がまったくないのでコメントできませんが、これまで hudson との仕事を楽しんでいます。
hudson 用のプラグインはたくさんありますが、hudson のサイトには、独自のプラグインを作成するためのアドバイスがたくさんあります ( http://wiki.hudson-ci.org/display/HUDSON/Extend+Hudson )。