web-dev-qa-db-ja.com

竹対ハドソン(別名ジェンキンス)対他のCIシステム

ハドソンと竹の両方の経験がある人はいますか?これらの製品の相対的な長所と短所に関する考えはありますか?

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

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

免責事項:私はBambooに取り組んでいます。したがって、他のCI製品の機能についてはコメントしません。

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

複数の言語を処理する

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

サーバーにアーティファクトを展開します(つまり、すべての単体テストに合格した場合に戦争を展開します)

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

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

Bambooには Clover のサポートが付属しており、 Cobertura のプラグインも利用できます。

見栄えの良いレポートは素晴らしいですが、必須ではありません。

Bambooには レポート全体 がありますが、これはニースですが、必須ではありません:)

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

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

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

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

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

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

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

お役に立てれば。

50
jens

私はBambooを使用していませんが、Hudson、Cruise、およびTFSを使用しましたが、それらのすべての中で、Hudsonは最高のものでした。設定はとてつもなく簡単で、プロジェクト設定用の本当に素晴らしいWeb GUIがあります。 Hudsonの素晴らしい点は、だれかがプラグインを作成していると仮定して、ほぼすべての言語と機能をサポートしていることです。

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

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

さらに無料です!

39
Steve Whitfield

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

  • Bamboo:使いやすく、格好良い
  • Jenkins:端は粗いが、Bambooよりもはるかに柔軟

BambooとJenkinsには多数のバグがあります(will問題が発生します)が、少なくともJenkinsでは、修正されるまで回避策があります。 Bambooを使用すると、更新を待つ必要があります。

35
Gili

免責事項:私はジェンキンスで働いています。

私たちの組織(非常に大きく、100人以上の開発者)では、次の2つの機能も非常に便利であることがわかりました。

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

ご質問について:

  1. OK
  2. SCPプラグインまたはSSHプラグイン
  3. FINDBUGS、静的分析コレクタープラグイン、静的コード分析プラグイン、タスクスキャナープラグインを使用します
  4. ポイント3以前+ Jenkins DocLinksプラグイン
  5. 電子メールJenkins Email Extension Pluginを使用していますが、rss、Twitter publish、smsなどの他のシステムもサポートしています。
  6. Tomcatホスティングでローカルに実行しています。
  7. はい。
16

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

5
Puce

あなたがそれを払っても構わないと思っているなら、 Anthill はあなたが見ているこれらすべてをします。私たちの会社ではWebチームのためにそれを使用していますが、非常に強力です。

複数の言語を処理する

箱から出して、既存のスクリプトを自動化し、どの言語に関係なく生成されるアーティファクトを管理します。

サーバーにアーティファクトを展開します(つまり、すべての単体テストに合格した場合に戦争を展開します)

展開は、ビルドプロセスのステップとして追加できます。運用環境に直接展開したいかどうかはわかりませんが、管理者が必要だと言う場合は確かに可能です。

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

それらは、Clover、Cobertura、Emma、Checkstyle、CodeSonar、Coverity、FindBugs、Fortify、Klocwork、PMD、およびSonarとすぐに統合できます。

見栄えの良いレポートは素晴らしいですが、必須ではありません。

どのレポートが利用可能かはわかりませんが、レポートタブがあります(そこには行きません:-))

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

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

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

展開用のエージェントを備えた、イメージからクラウドセッションを起動するデモを見ました。通常のLinuxボックスで実行しますが、VMWareサーバーで実行する人もいます。

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

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

1
corsiKa