web-dev-qa-db-ja.com

HudsonとJenkinsのどちらを選ぶか?

解決するのに1時間かそこらかかりましたHudsonは最近分岐したばかりです(2011年1月)
現在、各ブランチの変更がどれほど急速に行われているのかわかりませんが、さらに重要なのは、各ブランチの方向性とキーポイントとは何ですか?

製品ロードマップや機能の違いへのリンクがありますか。

449
Greg Domjan

Jenkinsを使用してください。

Jenkinsは 最近のフォーク Hudsonのコア開発者によるものです。その理由を理解するためには、プロジェクトの歴史を知る必要があります。もともとはオープンソースでSunによってサポートされていました。 Sunがしたことの多くと同様に、それはかなりオープンでした、しかし少し穏やかな無視がありました。ソース、トラッカー、Webサイトなどは、比較的閉鎖されたJava.netプラットフォーム上でSunによってホストされていました。

それからOracleはSunを買いました。さまざまな理由から、オラクルは自社の資産として認識しているものを活用することを恥ずかしがっていません。これらには、ハドソンの物流プラットフォームに対する何らかの制御、特にハドソンの名前に対する制御が含まれます。多くのユーザーや貢献者はそれに慣れていないので、辞めることにしました。

だからそれはハドソン対ジェンキンスが提供するものに帰着します。 OracleのHudsonとJenkinsの両方がコードを持っています。ハドソンは、OracleとSonatypeの企業サポートとブランドを持っています。 Jenkinsには、コア開発者の大部分、コミュニティ、そして(これまでのところ)もっと実際の仕事があります。

私が上にリンクしたその記事を読みなさい それから読む残りの部分これらの年代順に順序で バランスをとるために、あなたはハドソン/オラクルを読むことができます それを取ってください 。誰が防御的にプレーしていて、誰がプロジェクトに真の意向を持っているかは私には明らかです。

501
chmullig

chmulligは と書いているので、 Jenkins を使ってください。いくつかの追加ポイント:

...そしてちょっとした背景情報:

Hudsonの作成者である Kohsuke Kawaguchi は、彼がSun Microsystemsで働いていて、後でそれをさらに開発するために彼らから支払われたとしても、彼の自由時間にプロジェクトを始めました。 @ericksonが別のSO質問に言及したように

[Hudson/Jenkins]は、単一の天才的知性 - Kohsuke Kawaguchiの産物です。そのため、一貫性があり、一貫性があり、堅実です。

Oracleに買収された後、Kohsuke 長い間ぶらぶらしなかったモニターの欠如のため ...? ; - ]そして、 CloudBees のために仕事に行きました。開発者コミュニティとOracleの間のツールの衝突として2010年後半に始まり、名前変更/ fork/splitで終了したものは、chmulligが提供しているリンクによく文書化されています。私にとって、この問題は、他の何よりもおそらく、オラクルがオープンソースプロジェクトをスポンサーすることができないことや、すべての関係者(オラクル、開発者、ユーザー)を喜ばせる意欲がないことに他なりません。私たちが その他ケース で見たように、それは彼らのDNAまたは何かの中にはありません。

上記のことをすべて考慮して、私はこの問題についてKohsukeと他のコア開発者を個人的にフォローし、Jenkinsと一緒に行きます。

114
Jonik

3か月後に私が考えてみましょう。

Jenkinsは、元々のHudsonが細部にわたる更新を含め、頻繁にリリースされることで、この道をずっと踏襲してきました。

オラクルは、特にMavenに関して、いくつかの重要な変更を行ったSonatypeチームに、Hudsonの将来の道に関する作業を大部分委任したようです。彼らは共同でそれをEclipseの基盤に移しました。

私はあなたがの音が好きならば、それをお勧めします:

  • それほど頻繁にはリリースされないが、後方互換性についてより厳しくテストされているもの(より「エンタープライズスタイル」のリリースサイクル)
  • 主にMavenおよび/またはNexusの強力な統合に重点を置いた製品(つまり、GradleやArtifactoryなどには関心がありません)
  • cloudbeesなどに優先してSonatypeまたはOracleからの専門的なサポート提供
  • あなたはプラグイン開発者などのより小さなコミュニティを持つことを気にしません。

それならハドソンをお勧めします。

逆に、あなたが好めば:

  • より頻繁な更新、たとえそれらがもう少し頻繁な調整を必要とし、互換性の点で多少多少リスクが高いとしても(もっと "最新で最大の"リリースサイクルの)
  • 他のビルドシステムやアーティファクトリポジトリなど、コミュニティがより積極的にサポートしているシステム
  • オリジナルの作成者らからの提供品をサポートする。および/またはあなたが専門的なサポートに興味を持っていない(例えば、来週の「最新かつ最高」で解決策が見つかる限りは満足​​している)
  • 開発エコシステムの古典的なOSSスタイルの魔女による醸造

それから私はジェンキンスをお勧めします。 (そしてコメントしたように、Jenkinsには「LTS」リリースもあり、これはより「安定した」ブランチで管理されています)


保守的なコースは、今すぐHudsonを選択し、必須機能が利用できない場合はJenkinsに移行することです。動的なコースは、Jenkinsを今すぐ選択し、更新の追跡に時間がかかりすぎて正当化できない場合はHudsonに移行することです。

90
Zac Thompson

私はハドソンのコミッターであり、ハドソンの本を書いていますが、私はプロジェクトの全分割には関与していませんでした。

いずれにせよここに私のアドバイスがあります:

両方を調べて、ニーズに合ったものを確認してください。

ハドソン氏は今年中に、トップレベルのEclipseプロジェクトになるように移行を完了し、プロジェクトに携わっているフルタイムの開発者、QA、その他の人々を集めました。まだ強力になっており、多くのユーザーを抱えており、EclipseのデフォルトのCIサーバーであることから、多くのJava開発者のニーズに応え続けるでしょう。ロードマップと将来の計画を見ると、Maven 3と2.1.0のリリースが統合された後、他にもたくさんの興味深い機能が登場することがわかります。

http://www.Eclipse.org/hudson

反対側のJenkinsは、元々のHudsonユーザーを多数獲得しており、複数のテクノロジにまたがる大規模なユーザーコミュニティを抱えており、それに取り組んでいる開発者もたくさんいます。

この段階では、両方のCIサーバーを使用するのに最適なツールであり、どちらか一方と統合するためのテクノロジの観点から、ニーズに応じて、どちらかを選択することをお勧めします。どちらの製品もオープンソースとして入手可能であり、さまざまな企業から両方の商用サポートを受けることができます。

いずれにせよ..まだCIサーバーを使用していないのであれば、どちらかを今すぐ開始してください。大きなメリットがあります。

2013年1月の更新:IPクリーンアップの長いプロセスとさらなる改良の後、最初のEclipse Foundationが承認したリリースとしてのHudson 3.0が利用可能になりました。

48
Manfred Moser

ジェンキンスは新しいハドソンです。開発コミュニティ全体がJenkinsに移行したので、これは実際にはフォークではなく名前の変更に似ています。 (Oracleは、以前の「Hudson」というボールを保持しているコーナーに座ったままになっていますが、現在は単なる魂のないプロジェクトです。

C.f.エーテル - > WireShark

38
Nathan Kidd

2点追加しておきます。 1つは、Hudson/Jenkinsがすべてプラグインについてです。プラグイン開発者はJenkinsに移行しました。ユーザーでも同様です。第二に、私は個人的にはオラクル製品の大ファンではありません。実際、私は彼らを疫病のように避けています。 Oracleソリューションのライセンスとハードウェアに費やされたお金のために、エンジニアリングスタッフの2倍を雇うことができ、それでも毎週金曜日にビールを買うためにいくらかが残っています:)

27
Tim Fulmer

HudsonとJenkinsの将来の可能性として和解を述べた人々にとっては、Jenkins がSPI に加わるという事実から、現時点で彼らは和解することはないでしょう。

4
Chad Wilson

JenkinsのWebサイト http://jenkins-ci.org から、次のように要約します。

一言で言えば、Jenkins CIは、主要なオープンソースの継続的インテグレーションサーバーです。 Javaで構築された、それは事実上あらゆるプロジェクトの構築とテストをサポートするために300以上のプラグインを提供します。

Oracleは現在Hudsonの商標を所有していますが、 Eclipse EPL の下でそれをライセンスしています。 Jenkinsは MITライセンス にあります。 HudsonとJenkinsはどちらもオープンソースです。あなたが仕事をしている人と、オープンソースに対する個人的な好みの組み合わせに基づいて、決定は私見です。

これが役に立ったことを願っています。

4