継続的な統合のためのHudsonまたはTeamcity?[閉まっている]


100

私たちは、使用するCIツールを探しているJavaショップです。HudsonTeamcityはどちらも無料のようですが、Teamcityはより洗練されており、サポートが強化されています。

なぜなぜHudsonを使用するのか、また誰かが/に対して反対の意見を述べることができるのかと思っていましたか?


あなたは、ここでの答えに興味がある可能性があり:stackoverflow.com/questions/1200721/...は
ire_and_curses

まだ検討していない場合は、CruiseControlをミックスに投入します。.NETバージョンを使用しているため、Javaの観点からコメントすることはできませんが、私はそれが好きです。
AdaTheDev 2009

3
@ire_and_curses投稿のいずれの返信も、他のツールと比較してどちらのツールについても適切な引数を提供していません
pdeva

4
クルーズコントロールの場合は-1-手動で「そのまま」に設定する必要がある構成ファイルが多すぎます。
Bevan

3
私の知る限りでは、無料のTeamCityの存在はCruiseControlを無効にします。TeamCityでCruiseControlを使用する理由がわかりません。そしてその逆の多くの理由。
Niall Connaughton

回答:


113

Team Cityは、最高のCIサーバーです。私にとってのキラー機能は、IDE(IntelliJ、Eclipse、VisualStudio)との緊密な統合です。たとえば、IDEで編集しているファイルが古くなったとき、誰が変更したか、何が変更されたかを表示できます。IDEからCIサーバーにコミットし、ビルドグリッドでコミールとテストを実行すると、ビルドが成功した場合にCIサーバーがコミットします。CI Webアプリでビルドレポートをクリックすると、IDEで適切なファイルが開きます。

利用可能なプラグインはありますが(私は1つ書いた:http : //team-piazza.googlecode.com)、多くはありません。


9
リモート実行/事前テスト済みコミットは、TeamCityの非常に便利な機能です。一般に、ビルドが高速でない場合、TCはより便利です。TeamCityでは、ビルドで何が発生するか(成功したテストの数、失敗した回数、ビルドの段階など)に関するフィードバックが継続的に得られるためです。また、TC通知はより洗練されています。ビルドのタイプや通知機能(メール、Jabber、Windowsトレイ)ごとに異なるルールを設定できます。
Pavel Sher、

6
@Pavel:HudsonだけでなくTeamCityも知らないので、コメントの冒頭に挑戦しません。しかし、通知に関して、TCがより洗練されていると主張することは、私のそれほど控えめな意見では純粋なFUDではありません。上記の通知チャネルはすべてHudsonで利用できます(Twitterを追加することもできます)。実際、ハドソンにはTCよりもはるかに多くのプラグインがあり(wiki.hudson-ci.org/display/HUDSON/Pluginsをチェック)、TCにはHudsonよりも多くの制限があると確信しています。
Pascal Thivent、2009

3
チャンネルについては同意します(Hudsonには多数のプラグインがあります)が、ルールについては同意しません。TeamCityでは、変更を含むビルドをサブスクライブでき、ビルドが失敗し始めたとき(たとえば、最初のテストが失敗し始めたとき)に通知を受け取るように選択できます。成功シーケンス後の最初の失敗したビルド、および失敗後の最初の成功についての通知を要求することができます。また、これらのオプションはすべての通知チャネルで使用できます。そのようなチャネルの1つはIDE通知機能です。何か問題が発生した場合、IDEで通知を受け取ります。私が覚えているように、ハドソンの通知ルールははるかに単純でした。
Pavel Sher、

2
Pavel-ここでスリングマッチは必要ありませんが、デフォルトでは、Hudsonは失敗したビルドに貢献した場合にのみメールを送信します。必要に応じて、失敗したすべてのビルドについて通知を受けるようにサブスクライブすることもできます。email-extプラグインにはさらに多くのオプションがあります。あなたはそれを承認する必要はありませんが、それを偽って伝えてはいけません。
ジムT

4
簡単なグーグルは、チームシティーからナバズタグのウサギや他のかわいいデバイスを制御するプラグインがあることを示します。または、私の回答でリンクしたプラグインを使用することもできます。IDEとの緊密な統合の利点は、作業中のコードについて、作業中のコードに関するフィードバックがはるかに迅速かつ集中して行われることです。通知を待つ必要はなく、tgeブラウザーに切り替え、レポートを読み、IDEに戻り、適切なファイルを開く必要はありません。作業中にエディターペインが変化し、他のチームメンバーがコードにどのように影響したかを示します。
09/09/10

58

ハドソンの+1。

Hudsonは非常にアクティブなプロジェクトであり、幅広いユーザーコミュニティがあります。 また、アクティブユーザーのメーリングリストは、非常に使いやすく、使いやすく、巨大なプロジェクト(JBoss、JAX-WSなど)で使用されているため、実績があり、非常に優れた高度な機能を提供しています。機能(ビルドマトリックス、ビルドクラスタリングなど)はオープンソースであり、プラグインがたくさんあります...

また、サポートが本当に重要な場合は、Sunから商用サポートを受けることができます。しかし、FWIW、私はハドソンのブロッキング問題に直面したことはありません。

更新:ご存知かもしれませんが、ハドソンの作成者である河口浩介がSun / Oracleを辞任し、Hudsonを次の段階に進めるために自身の会社 設立しました。言い換えれば、これはハドソンにとって脅威ではありません。サポートが必要な場合は、サブスクリプションプランの一部としてHudson CI Serverの認定バージョンを入手できます(この認定バージョンは、Hudsonの高品質リリースに、事前定義されたプラグインのセットといくつかの商用プラグインをバンドルしたものです)。

更新:それぞれのユーザーベースのサイズを示すために、Indeed(ライブクエリ)のいくつかのCIツールのジョブトレンドの比較を以下に示します。

Hudsonビルドエンジニア、CruiseControlビルドエンジニア、Bambooビルドエンジニア、TeamCityビルドエンジニアJob Trends

もちろん、これは技術的な指標ではありません。


88
おそらく、TeamCityは非常に使いやすいので、特別に雇われた人がそれを構成する必要はありませんか?
Henrik

3
@ヘンリック:上記のグラフの解釈はあなたの裁量です。しかし、はい、TeamCityは魔法かもしれません。
Pascal Thivent 2010年

16
継続的インテグレーションを実行するためにフルタイムのビルドエンジニアを雇うと、次の2つの問題が発生します。1)CIは扱いにくいので、開発者はそれに苦労し、知識はこの1人の頭に残ります。 2)あなたは誰かに、やる必要のない仕事をするためにお金を払っています!
Niall Connaughton 2012年

15
CIサーバーを選択する場合は、専任のエンジニアがCIサーバーを管理するための最低限の求人があったサーバーを選択します。これは開発者ツールであり、開発者は自分で管理できる必要があります。それができない場合は、別のツールまたは別の開発者が必要です。
Nat

ジョブトレンドグラフは、ハドソンの+1をまったく意味していません...
Sharique Abdullah 14

17

HudsonでいくつかのFlexプロジェクトを開始し、.NET開発者がCIの取り組みに参加したときにTeamCityに移行しました。これで、TeamCityサーバーが再び置き換えられ、ハドソンに戻りました。主な理由は次のとおりです。-活気のあるハドソンコミュニティ。サポートよりも優れています。-あらゆる種類のタスクのための膨大な量のプラグイン。-オープンソース。-Hudsonは無料で、TeamCityは10プロジェクトのみ無料です。

編集:TeamCityは20プロジェクトで無料になりました。


2
プロジェクトの10個の制限がなくなりました。現在の制限は20個のビルド構成のみです。中小規模のプロジェクトではおそらく十分です。
ashwoods '17年

4
好奇心から、Jenkinsプラグインを介して利用できる機能のうち、TeamCityの世界で欠けていたものは何ですか?
Behrang Saeedzadeh 2013年

14

TeamCityは、各開発者が独自のビルドプロファイルを持ち、IDEからそれに接続できるため、すばらしいものです。孤独は「お尻キックイン」です。GITなどのサポートもあります。真剣に見てください。プロフェッショナル版は無料です。


5
GITは、ジェンキンス/ハドソンによってサポートされている
CJBrew

14

Hudson に対する最大の議論は、すべてのリリースで新しいバグが発生することです。

リリースは非常に頻繁であるため、遅れをとらないように頻繁にアップグレードする必要があります。つまり、問題の診断と以前のHudsonリリースへのロールバックに多くの時間を費やす必要があります。(時にはロールバックさえ不可能です!)

当店では継続的デプロイメントを導入しており(コードをチェックインすると、ライブサイトにデプロイされます!)、Hudsonと格闘する必要があるため、コストがかかりすぎます。

Hudsonのバグのコストのために、TeamCityへの移行を積極的に検討しています。


8
利用可能なアップデートがあるからといって、アップグレードする必要があるわけではありません。私はむしろ彼らがより頻繁にではなくリリースしたいと思っています。それはアップグレードするときの私の選択であり、私は確かに毎週それをしません。また、メンテナは後方互換性について非常に保守的です。プラグインは、通常、動作するために最新のHudsonを必要としません。実際、現在利用可能な130のプラグインは、1年以上前のHudsonバージョンに対してビルドされています。それでも心配な場合は、自動ロールバックプラグインが機能しています。;)
Christopher Orr

1
私の経験では、問題はHudson自体よりもプラグインの方が多くなっていますが、これはユーザーの観点からは大きな違いはありません。ただし、特定のバグに直面しているか、新しい機能なしでは生きられない場合を除いて、アップグレードを強制されるものはありません。私たちは単に各リリースをフォローせず、究極のバージョンを使用しないことはまったく問題ではありません:「壊れていなければ、修正しないでください」
Pascal Thivent 2010

2
主要なコミッターが重大なセキュリティ上の欠陥が修正されたというメッセージを送信すると、それが更新される理由です。私の要点はまだ残っています。追加のプラグインがインストールされていなくても、Hudsonは非常に不安定です。
jdtangney

1
1つのプロジェクトで1年半ハドソン/ジェンキンスを使用した後、それは素晴らしいツールですが、リリース間で一貫性のない品質を経験しすぎたため、絶対に必要な場合にのみアップグレードしたと言えます。構成の頻繁なバックアップを含む回避策を見つけました。私の最新プロジェクトでTeamCityを試すのを楽しみにしています。
JaysonRaymond

4
更新と安定性が相反する要素である必要があるのはなぜですか?それは品質の欠如を示しているだけではありませんか?
Niall Connaughton

6

Teamcityは本当に好きでしたが、私が作業している環境では、管理のレイヤーを通じてTeamcityの発注書を取得するのにかかる時間は、すべてをHudsonに移行するのにかかる時間を超えていた可能性があります。


10
TeamCityプロフェッショナルは無料です。
Pavel Sher、

6
@Pavel、私たちは20人以上のユーザーとそれよりもはるかに多くのビルドを持っています。
SAL

22
@salは、企業が開発チームのツールに数千ドル以上をどれほど心配することができ、ツールを使用しなかった数百時間を無駄にしたいと思っていることに常に驚かされます。
Chris Marisic

5
@Chris彼らがオープンソースの無料ツールから始めたとしたら、何かがうまくいくのを見て、2年後、問題なく問題なく機能することに気付いたとしたら?おそらくまったく同じことをする商用ツールにアップグレードするために数千ドルを費やすことをまだ提案しますか?
stefanB

1
@stefan 2年間ツールを使用していて、別のツールから必要なfeatureXがない限り、それがニーズを満たしている場合、なぜ無料または有料の他のツールに切り替えるのですか?
Chris Marisic、2010

2

私は以前にTeamCityとJenkins(別名新しいHudson)を使用してセットアップしましたが、TeamCityのセットアップは非常にスマートで、10ユーザー以下のチームでのみ無料であることに同意します。どちらのシステムもセットアップが非常に簡単で、十分にサポートされているプラ​​グインシステムがあります。TeamCityのキラー機能は、チェックイン前のワークフローであり、コードをソース管理にチェックインする前にテストできます。Jenkinsの優れた点は、10ユーザーを超えてエージェントを構築しても、完全に無料であることです。


また、Jenkinsのグラフビューも気に入っています。Teamcityにはそれがありません。さらに私はあなたのコメントに同意します!
Danny Gloudemans 2012

コメントに同意する場合は、投票してください:)
runxc1 Bret Ferrier

1

私はハドソンが実験する準備ができて、それが私たちの現在の環境にどのように適合するかを知ることに慣れ始めています。私はTeamcityの経験がまったくないのでコメントできませんが、これまでハドソンでの作業を楽しんでいます。

hudsonには多くのプラグインがあり、hudsonサイトでは独自のプラグイン(http://wiki.hudson-ci.org/display/HUDSON/Extend+Hudson)を作成するための多くのアドバイスを提供しています。


1

私はクライアントにBambooを検討するよう勧めています。その理由は(仕様シートを読んでからですが!)、TeamCityに非常によく似た機能が設定されているためです。ただし、主な利点は、機能/バグ追跡システムとして非常に人気のあるJIRAとの緊密な統合です。完全なスイートは、JIRA、Greenhopper、Bamboo、Eclipseです。かなりの数のクライアントにもHP Quality Centerがあり、JIRAに参加するプラグインもあります。また、JIRA、Bamboo、GreenHopperがすべてアトラシアンから提供されていることも気に入っています。


TeamCityを広範囲に使用した後、Jenkinsは非常にベアメタルに見えます。はい、プラグインをインストールすれば、何でもできます。TeamCityには、すぐに使用できる成熟した機能セットがあります。ただし、継続的デリバリーレベルでは、適切なステージングパイプラインが実装されないままになります。QuickBuildは注目に値するさらに機能が豊富な製品であり、ペイウェアです。
bbaassssiiee 2014年

クライアントサイトでBambooが動作しているところを見たので、私はもうあまり熱心ではありません。スクリプトを作成し、ビルド間で情報を転送するのに苦労している領域がいくつかあります。その結果、開発者はCIのグローバル変数領域にあらゆる種類のものを配置する傾向があり、そこには単に存在すべきではありません。
ドレッカ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.