竹対 Hudson(別名Jenkins)とその他のCIシステム[終了]


119

HudsonとBambooの両方の経験がある人はいますか?これらの製品の相対的な長所と短所について何か考えはありますか?

さて、皆さんは他のCI製品について言及し続けるので、これをさらに公開します。これが私の一般的な問題です。新しいプロジェクトのCIシステムをセットアップしたい。このプロジェクトには、Javaコンポーネント(WARおよびJAR)、いくつかのpythonモジュール、さらには.NETコンポーネントが含まれる可能性があります。だから私はできるCIサーバーが欲しい:

  1. 複数の言語を処理し、
  2. アーティファクトをサーバーにデプロイします(つまり、すべてのユニットテストに合格した場合はwarをデプロイします)。
  3. まともなコードカバレッジツールと統合されたものも欲しいです。
  4. 見栄えの良いレポートは適切ですが、必須ではありません。
  5. 問題が発生した場合の複数の通知メカニズム。
  6. 私はホスティングについて心配していません。ローカルサーバーまたはAmazonインスタンスで実行します。
  7. また、これは空のパイかもしれませんが、iPhoneアプリを構築できるものはありますか?

2
水をさらに混乱させるために、チームシティを検討しましたか?彼らは無料バージョン(ユーザー数で制限されています)バージョンを持っています。私は過去にそれを使用したことがあり、それが提供する情報が本当に好きです。
Shane Courtrille、2011年

ハドソンかジェンキンスか?(kohsuke.org/2011/01/11/bye-bye-hudson-hello-jenkins
ロマンLinsolas

2
水をmuddling維持させる:) integrityapp.com あなたが自由のためにCIサーバを持つことができますので、これは、Herokuのにデプロイすることができます。
Nerian、2011年

TeamCityを見たことがない。そして、オラクルがハドソンにジェンキンスになることを強制したことを知りませんでした。これを反映するように質問を編集します。
Karthik Ramachandran

2
ここにはスレッドがあります:forums.atlassian.com/message.jspa?messageID
sal

回答:


50

免責事項:私はBambooで作業しているため、他のCI製品の経験は限られているため、それらの機能についてはコメントしません。

特定の要件に答えるには:

複数の言語を処理する

Bambooは、すぐに使用できる複数の言語をサポートしています。顧客はJava、.Net、PHP、JavaScriptなどでそれを使用します。とはいえ、ほとんどのビルドサーバーは、少なくともビルドプロセスを開始できるスクリプトを実行できるほど汎用的です。

アーティファクトをサーバーにデプロイします(つまり、すべてのユニットテストに合格した場合はwarをデプロイします)。

Bamboo 2.7はビルドステージをサポートしています。これにより、ビルドをユニットテストステージとデプロイステージに分割できます。ユニットテストステージが成功した場合のみ、ビルドはデプロイステージに進みます。で竹3.0私たちは、あなたが最初の段階でアーティファクト(例えば、あなたの戦争)を作成し、テストし、展開するために、次の段階で、このアーティファクトを使用することができ、ステージ間のアーティファクトの共有をサポートします。

まともなコードカバレッジツールと統合されたものも欲しいです。

BambooにはCloverのサポートが付属しており、Cobertura用のプラグインも用意されています

見栄えの良いレポートは適切ですが、必須ではありません。

Bambooにはすばらしいレポートたくさんありますが、必須ではありません:)

問題が発生した場合の複数の通知メカニズム。

Bambooは、メール、RSS、IM、IDEプラグイン、またはチーム全体に表示される素敵なウォールボードを介して通知できます。

私はホスティングについて心配していません。ローカルサーバーまたはAmazonインスタンスで実行します。

経験上、一般的に独自のCIサーバーをホストする方が安価です。ただし、スケーリングが必要な場合、Bambooを使用すると、ビルドを追加のローカルエージェントに配布したり、 Elasticエージェントを介してAmazonにスケールアウトしたりできます。

また、これは空のパイかもしれませんが、iPhoneアプリを構築できるものはありますか?

最初の質問への回答と同様に、ほとんどのCIサーバーはいくつかの方法でiPhoneアプリを構築できます。ただし、スクリプトがもう少し必要になる可能性があります。

価格: Bambooは無料ではありません(無料のスターターライセンスを除く)/ libre / open-sourceですが、商用ライセンスとフルサポートを購入すると、Bambooのソースコードを取得できます。CIサーバーに必要な計算能力と潜在的なメンテナンスのコストと比較すると、Bambooライセンスのコストはかなり小さいです。

お役に立てれば。


15
Bambooの料金体系に欠陥があります。並列ビルドを使用するユーザーと、クロスプラットフォームテストのためにリモートエージェントを単に必要とするユーザーを区別しません。Windows、Linux、Mac用の小さなビルドサーバーを実行しようとすると(おそらくそれぞれのバージョンが異なる場合でも)、価格はすぐに年間数千ドルに跳ね上がります。より良いアプローチは、同時ビルドに課金することでした。
Gili

Jenkinsに対するBambooの大きな特徴は、チームの開発者間のドリフトを防ぐためのブランチの自動マージです。しかし残念なことに、これらはGITとMercurialでのみサポートされているため、SVNやその他の機能を使用しているユーザーは動作しません。しかし、Jenkinsには、SVN Mergeプラグインがあり、それを実行できます。
george_h 2013

1
@george_h Jenkins のGITプラグインがブランチの自動マージをサポートするようになりました。これがいつ実装されたかはわかりません。
slu 2014

1
それは素晴らしいことです。私は実際に竹とジェンキンの両方を使用しましたが、ジェンキンははるかに優れていました。最終的には、Ant + Mavenを実行するサーバーだけです。
george_h 2014

40

私はBambooを使用していませんが、Hudson、Cruise、TFSを使用していますが、それらのうち、Hudsonが最も優れていました。驚くほど簡単にセットアップでき、プロジェクト構成用の本当に素晴らしいWeb GUIがあります。Hudsonの優れた点は、誰かがプラグインを作成したと想定して、ほとんどの言語と機能をサポートしていることです。

http://wiki.hudson-ci.org/display/HUDSON/Plugins

これを使用して、.NET、Java、C ++ビルドを一定の間隔で実行し、自動テストハーネスを使用したSVNチェックインを実行しました。私が去る直前の場所で、去る直前にいくつかのiPhone開発を始めました。彼らもそのためにハドソンを使用していたと思います。

さらに無料です!


35

Bamboo vs Hudsonは、非常に表面的なレベルでは、次のようになります。

  • 竹:使いやすく見栄えが良い
  • ジェンキンス:エッジはラフですが、バンブーよりもはるかに柔軟性があります

竹とジェンキンスの両方が多数のバグを持っている(あなたがなり問題に実行)が、少なくとも、ジェンキンスさんとあなたははるかにそれが固定されるまでの回避策を持っている可能性があります。Bambooを使用すると、更新を待つことができません。


Bambooを使用すれば、少なくともそれに対する商業的なサポートがあると思います。
keiki 2014年

3
@keiki、はい、いいえ。はい、あなたは商業的サポートを得ますが、それは多くのお金がかかります(あなたはコスト/利益が理にかなっているかどうかあなた自身に尋ねる必要があります)。遭遇する問題の多くは、機能が不足していることが原因であることに注意してください。アトラシアンはお客様を支援するために最善を尽くしますが、結局のところリソースが限られているため、リクエストに応じて(人気に応じて)機能を追加するのに数年かかる場合があります。
ギリ2014年

1
柔軟性のための+1。Bambooは、現代のツールには本当に制限があり、CIツールにも制限があります。その上、Atlassianは、私たちがOSSでの作業に慣れている方法でBambooバグを優先順位付け/処理することができませんでした。
Paddy

16

免責事項:私はジェンキンスと協力しています。

私たちの組織(非常に大規模で100人を超える開発者)では、次の2つの機能も非常に便利です。

  1. マトリックスプロジェクトのセキュリティ戦略を備えたCASプラグイン
  2. パイプラインプラグインのビルド
  3. LTSリリーススケジュール。

ご質問について:

  1. OK
  2. SCP PLUGINまたはSSH PLUGIN
  3. FINDBUGS、Static Analysis Collector Plug-in、Static Code Analysis Plug-ins、Task Scanner Pluginを使用します
  4. 以前のポイント3 + Jenkins DocLinksプラグイン
  5. 私たちは電子メールJenkins電子メール拡張プラグインを使用していますが、RSS、Twitterパブリッシュ、SMSなどの他のシステムもサポートしています...
  6. ローカルでTomcatホスティングを実行しています。
  7. はい。

5

まあ、私はこれまでBambooを使用したことがありませんが、1つの違いはHudsonがフリー/ライブラリ/オープンソースソフトウェアであることです。


10
反対投票-この答えは真実ですが、ささいなことです(おそらく両方の製品を知っている誰かがこれを知っています)。OPは機能比較を探しています。
Jason S 14

1

あなたがそれを支払う用意があるなら、Anthillはあなたが見ているこれらすべてをします。私の会社ではWebチームのために使用していますが、非常に強力です。

複数の言語を処理する

すぐに使用できるように、既存のスクリプトを自動化し、どの言語でも生成されるアーティファクトを管理します。

アーティファクトをサーバーにデプロイします(つまり、すべてのユニットテストに合格した場合はwarをデプロイします)。

デプロイメントは、ビルドプロセスのステップとして追加できます。運用環境に直接展開する必要があるかどうかはわかりませんが、管理者から指示された場合は可能です。

まともなコードカバレッジツールと統合されたものも欲しいです。

これらは、クローバー、コベルトゥーラ、エマ、チェックスタイル、コードソナー、コベリティ、FindBugs、フォートファイ、Klocwork、PMD、ソナーとすぐに統合できます。

見栄えの良いレポートは適切ですが、必須ではありません。

利用できるレポートはわかりませんが、[レポート]タブがあります(ここにはアクセスしません:-))。

問題が発生した場合の複数の通知メカニズム。

電子メール(したがってSMS)を実行でき、いくつかのIMサービスと統合できることを知っています。

私はホスティングについて心配していません。ローカルサーバーまたはAmazonインスタンスで実行します。

デプロイ用のエージェントを備えたイメージからクラウドセッションを起動するデモを確認しました。通常のLinuxボックスで実行しますが、VMWareサーバーで実行する人もいることは知っています。

また、これは空のパイかもしれませんが、iPhoneアプリを構築できるものはありますか?

これはおそらく最初のものに該当します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.