如何选择Hudson和Jenkins?

时间:2011-02-11 20:58:24

标签: continuous-integration hudson jenkins

花了我一个小时左右才弄清楚Hudson最近才开始分支(2011年1月) 我不知道现在每个分支的变化有多快,但更重要的是,每个分支的方向是什么,关键点是什么,以便人们可以选择哪个分支?

任何人都有产品路线图和功能差异的链接?

8 个答案:

答案 0 :(得分:501)

使用 Jenkins

Jenkins是Hudson核心开发人员的recent fork。要了解原因,您需要了解项目的历史。它最初是开源的,由Sun支持。像Sun所做的那样,它是相当开放的,但有一点良性忽视。源,跟踪器,网站等由Sun在相对封闭的java.net平台上托管。

然后甲骨文收购了Sun.出于各种原因,甲骨文并不羞于利用它所认为的资产。其中包括对Hudson物流平台的一些控制,特别是对Hudson名称的控制。许多用户和贡献者对此并不满意并决定离开。

因此,归结为Hudson vs Jenkins提供的内容。 Oracle的Hudson和Jenkins都有代码。 Hudson拥有Oracle和Sonatype的企业支持和品牌。 Jenkins拥有大多数核心开发人员,社区和(到目前为止)更多的实际工作。

阅读我上传的帖子then read the rest of these in chronological order。为了平衡,您可以阅读Hudson / Oracle take on it。我很清楚谁在防守并且对项目有真正的意图。

答案 1 :(得分:114)

作为chmullig wrote,使用 Jenkins 。一些额外的要点:

...还有一些背景信息:

Hudson的创建者Kohsuke Kawaguchi在他的空闲时间开始了这个项目,即使他为Sun Microsystems工作,后来由他们付钱进一步开发它。作为@erickson noted at another SO question

  

[哈德森/詹金斯]是一个天才的产物   智力 - Kohsuke Kawaguchi。因为   其中,它是一致的,连贯的,   坚如磐石。

在甲骨文收购后,Kohsuke didn't hang around for long由于lack of monitors ...?; - ] ),并开始为CloudBees工作。从2010年末开始,由于开发社区和Oracle之间的工具发生冲突并以重命名/分叉/拆分结束,这些内容在chmullig提供的链接中有详细记载。对我而言,整个难题最重要的可能是甲骨文完全没有能力或不愿意以一种让所有各方(甲骨文,开发者,用户)感到高兴的方式赞助一个开源项目。它不在他们的DNA或其他东西中,正如我们在other cases中看到的那样。

考虑到上述所有情况,我会亲自关注Kohsuke和其他核心开发人员,并与Jenkins一起去。

答案 2 :(得分:90)

三个月后,我接受了这件事:

詹金斯继续沿着最初的哈德森所经历的道路,经常发布包括许多小更新。

Oracle似乎已经将Hudson的未来发展方向委托给了Sonatype团队,他们已经做了一些重大改变,特别是对于Maven。他们共同将它移到Eclipse基金会。

我建议如果你喜欢这样的声音:

  • 频率较低的版本,但经过更严格的向后兼容测试(更多是“企业式”发布周期)
  • 主要针对强Maven和/或Nexus集成的产品(即您对Gradle和Artifactory等没有兴趣)
  • 来自Sonatype或Oracle的专业支持服务,而不是Cloudbees等
  • 你不介意拥有一个较小的插件开发者社区等。

,那我建议哈德森。

相反,如果您愿意:

  • 更频繁的更新,即使它们需要更频繁的调整,并且在兼容性方面可能略微冒险(更多的是“最新和最好的”发布周期)
  • 具有更多活动社区支持的系统,例如,其他构建系统/工件存储库
  • 来自原创作者等人的支持。和/或你没有兴趣获得专业支持(例如,只要你能在下周的“最新和最好的”中获得解决方案,你就会感到高兴)
  • 一个开发生态系统的经典OSS式女巫酿造

然后我会建议詹金斯。 (并且作为一名评论者指出,Jenkins现在也有“LTS”版本,这些版本在更“稳定”的分支上维护)


保守的做法是现在选择Hudson,如果必备功能不可用,则迁移到Jenkins。动态的过程是现在选择Jenkins并迁移到Hudson,如果追逐更新变得太费时而无法证明。

答案 3 :(得分:48)

前面..我是哈德森的提交者和哈德森书的作者,但我没有参与项目的整个分割。

无论如何,这是我的建议:

检查两者,看看哪种更适合您的需求。

Hudson将在今年晚些时候完成迁移,成为顶级Eclipse项目,并且已经有一大批全职开发人员,QA和其他人参与该项目。它仍然很强大,拥有大量用户,并且作为Eclipse的默认CI服务器,它将继续满足许多Java开发人员的需求。看看未来的路线图和计划,您可以看到在与2.1.0版本完成Maven 3集成之后,还有很多其他有趣的功能。

http://www.eclipse.org/hudson

詹金斯在另一方面赢得了许多原创Hudson用户,并拥有跨多种技术的大型用户社区,并且还有一大批开发人员正在开发它。

在这个阶段,两个CI服务器都是很好的工具,根据您在技术方面的需求,可以更好地与其中一个集成。这两种产品都是开源的,您可以从各公司获得商业支持。

在任何情况下..如果你还没有使用CI服务器..从现在开始使用其中任何一个,你会看到巨大的好处。

2013年1月更新:经过长时间的IP清理和进一步改进后,Hudson 3.0成为第一个获得Eclipse基金会批准的发布版本。

答案 4 :(得分:38)

詹金斯是新的哈德森。它真的更像是重命名,而不是分叉,因为整个开发社区都搬到了Jenkins。 (甲骨文坐在角落里抱着他们的旧球“哈德森”,但现在只是一个没有灵魂的项目。)

C.f。 Ethereal - >是Wireshark

答案 5 :(得分:27)

我有两点需要补充。其一,Hudson / Jenkins就是插件。插件开发人员已经转移到Jenkins,我们也应该转向用户。二,我个人不是甲骨文产品的忠实粉丝。事实上,我像瘟疫一样避免它们。对于在Oracle解决方案上花费在许可和硬件上的资金,您可以雇用两倍的工程人员,并且每周五还有一些剩余的用于购买啤酒:)

答案 6 :(得分:4)

在詹金斯网站http://jenkins-ci.org中,以下内容总结了一下。

  

简而言之,Jenkins CI是领先的开源持​​续集成服务器。它使用Java构建,提供300多个插件,支持构建和测试几乎任何项目。

Oracle现在拥有Hudson商标,但已在Eclipse EPL下获得许可。詹金斯在MIT license。 Hudson和Jenkins都是开源的。根据您的工作对象和个人对开源的偏好,这个决定很简单恕我直言。

希望这有用。

答案 7 :(得分:4)

对于那些提及和解是Hudson和Jenkins潜在未来的人,以及Jenkins will be joining SPI的事实,此时他们不太可能会和解。