如何在哈德森和詹金斯之间进行选择?[关闭]


451

我花了一个小时左右的时间才得出结论,哈德森才刚刚成立
分支机构(2011年1月),我不知道每个分支机构的变化现在有多快,但更重要的是,每个分支机构的发展方向是什么,关键是什么要点,以便可以在其中选择一个?

有人链接到产品路线图和功能差异吗?


4
您最终在詹金斯和哈德森之间选择了什么?
chmullig

109
@Kev:我不同意这个问题不是建设性的。这不是像“ x vs. y”这样的辩论,而是关于Hudson的分支,这是非常有用的信息。
tanascius 2012年

9
是的,需要重新打开该线程以获取更多最新答案。
djangofan 2013年

2
@djangofan一年来已经有一个后续问题:stackoverflow.com/q/11433083/234938-现在,又一年后,情况仍然相同。
Christopher Orr 2013年

5
我理解这类问题的危险性,但是在我看来(i)它提出了一些非常有趣的信息,(ii)没有引发任何形式的争议,并且(iii)合法,因为这并不容易没有这类信息就可以选择
lab419 2014年

Answers:


503

使用詹金斯

詹金斯(Jenkins)是哈德森(Hudson)核心开发人员最近的分支。要了解原因,您需要了解项目的历史。它最初是开源的,并由Sun支持。像Sun所做的许多事情一样,它相当开放,但是存在一些良性的疏忽。源,跟踪器,网站等由Sun托管在相对封闭的java.net平台上。

然后甲骨文收购了Sun。由于各种原因,Oracle一直不畏惧利用自己认为是其资产的东西。这些措施包括对Hudson物流平台的某些控制,尤其是对Hudson名称的控制。许多用户和贡献者对此都不满意,因此决定离开。

因此,这取决于哈德逊与詹金斯的竞争。Oracle的Hudson和Jenkins都有代码。Hudson得到了Oracle和Sonatype的企业支持以及该品牌。Jenkins拥有大多数核心开发人员,社区以及(到目前为止)更多实际工作。

读了后我拉上顶部,然后 其余 这些 按时间 顺序。对于资产负债您可以阅读哈德森/甲骨文就可以起飞。对我来说,很明显谁在防守,谁对该项目有真正的意图。


10
“项目背后的大多数人”-这对于项目创始人来说似乎是正确的,但是应该指出的是,Sonotype(Maven inc)致力于在鸿沟的哈德逊一侧,对管道进行了大量的建筑变更。看看詹金斯团队是否仍然有足够的
创造力

5
@magic:至少基于简短的比较,即分裂后的两周,詹金斯到目前为止更加活跃。无论如何,当我与Jenkins在一起时,很有趣的是看到Sonatype的家伙在做什么。
乔尼克,

14
这是写@Jonik的简短比较的人的另一个更新。这是〜2个月后。
chmullig

14
现在五年之后,詹金斯欣欣向荣,甲骨文将哈德森扔在了日食大象墓地,但实际上却被抛弃了。
托尔比约恩Ravn的安徒生

115

正如chmullig所写,请使用Jenkins。其他一些要点:

  • 实际上,可以说是Oracle做出了分叉!从技术上讲,这也是发生的事情

  • 有趣的是,看到了“哈德森”的内容。虽然他们在(新)哈德森网站上发布的“温斯顿总结了哈德森项目的状态和美好的未来”对我本来似乎很奇怪,但也许这是有目的的接管,而索纳型的人实际上有一些大想法他们的袖子。这一分析表明,Oracle / Sonatype精心策划了一项战略,以驱逐Kohsuke和工作人员创建一个更具“企业精神”的Hudson,这是非常有趣的读物!

  • 无论如何,在分拆之后的两周进行的简短比较(虽然不完全是科学的)表明,詹金斯在这两个项目中表现得更为活跃。

...以及一些背景信息:

Hudson的创建者川口浩介Kohsuke Kawaguchi)的业余时间开始了该项目,即使他当时在Sun Microsystems工作,后来又由他们付费进行进一步开发。正如@erickson在另一个SO问题上指出的那样

[Hudson / Jenkins]是单一天才智力的产物-川口昌介。因此,它是一致,连贯且坚如磐石的。

在被甲骨文(Oracle)收购之后,Kohsuke 并没有流连忘返(由于缺少监视器 ...?;-]),他去了CloudBees工作。chmullig提供的链接中详细记录了2010年底开始时开发社区与Oracle之间的工具冲突,最后以重命名/ fork / split结束。在我看来,整个难题可能最重要的是,甲骨文完全无能力或不愿意以使各方(甲骨文,开发人员,用户)满意的方式来赞助开源项目。正如我们在其他 情况下所看到的那样,这不存在于他们的DNA中。

鉴于上述所有内容,我将亲自关注Kohsuke和其他核心开发人员,并与Jenkins一起。


90

三个月后,这只是我的看法:

詹金斯(Jenkins)沿用了最初的哈德逊(Hudson)精心打造的道路,并经常发布版本,包括许多次要更新。

甲骨文似乎已经将哈德森在未来的发展道路上的工作大部分委托给了Sonatype团队,该团队进行了一些重大更改,尤其是在Maven方面。他们共同将其移至Eclipse基础。

我建议,如果您喜欢以下声音:

  • 发行频率较低,但对向后兼容性进行了严格测试的版本(更多的是“企业风格”发行周期)
  • 主要专注于强大的Maven和/或Nexus集成的产品(即您对Gradle和Artifactory等不感兴趣)
  • 来自Sonatype或Oracle的专业支持服务优先于Cloudbees等
  • 您不介意拥有较小的插件开发者社区等。

,那么我建议哈德森。

相反,如果您喜欢:

  • 更频繁的更新,即使它们需要更频繁的调整,并且在兼容性方面可能会稍微冒险一些(更多的是“最新,最大”的发布周期)
  • 具有更积极的社区支持的系统,例如,其他构建系统/工件存储库
  • 原始创作者等提供的支持产品。和/或您对专业支持不感兴趣(例如,只要您能在下周的“最新和最出色”中得到解决,就很高兴)
  • 经典的OSS风格巫婆开发生态系统的酝酿

那我建议詹金斯。(并且正如评论者所指出的那样,詹金斯现在还具有“ LTS”发行版,并在更“稳定”的分支上进行维护)


保守的做法是现在就选择Hudson,如果无法使用必备功能,则迁移到Jenkins。动态的过程是现在选择Jenkins并迁移到Hudson(如果追赶更新变得太耗时而无法证明理由)。


22
或者,两全其美,并使用新的Jenkins长期支持(LTS)版本!
Christopher Orr

48

在前面..我是哈德逊的投稿人和哈德森著作的作者,但我没有参与项目的全部工作。

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

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

Hudson将于今年晚些时候完成向顶级Eclipse项目的迁移,并吸引了一大批全职开发人员,QA和其他从事该项目的人员。它仍然很强大,拥有许多用户,并且作为Eclipse的默认CI服务器,它将继续满足许多Java开发人员的需求。回顾未来的路线图和计划,您会发现在通过2.1.0版本完成Maven 3集成之后,其他一系列有趣的功能也将出现。

http://www.eclipse.org/hudson

另一边,詹金斯(Jenkins)赢得了许多哈德逊原先的用户,并拥有使用多种技术的庞大用户社区,并且还有一大批开发人员正在为此工作。

在此阶段,两台CI服务器都是很好的工具,根据您的需求,与另一台集成的技术可能会更好。两种产品都是开放源代码,您可以从多家公司获得商业支持。

无论如何..如果您尚未使用CI服务器..现在就从它们中的任何一个开始,您将看到巨大的好处。

2013年1月更新:经过长期的IP清理和进一步的改进,Hudson 3.0作为第一个Eclipse Foundation批准的版本现已发布。


38

詹金斯是新的哈德逊。因为整个开发社区都移至Jenkins,所以它实际上更像是重命名,而不是分叉。(Oracle被遗弃坐在角落里抱着他们的老球“ Hudson”,但是现在这只是一个无灵魂的项目。)

cf空灵-> WireShark


我正在运行的Hudson Build服务器有什么关系?我猜它不会自动更新到新的Jenkins fork / branch / rename。我是否必须从头开始设置构建服务器?
MichaelKüller2011年

4
您可以“升级”到Jenkins,就像以前从一个版本的Hudson升级到另一个版本一样。
nrobey 2011年

我目前正在运行哈德森1.395。当前它不显示我的可用更新。稍后会进行更改名称的更新吗?
MichaelKüller2011年

3
不,哈德森(Oracle)不会[1]更新詹金斯;如果Oracle愿意与社区合作,那么最初就不会有分歧。[1]禁止飞猪,埃里森先生成为您友好的邻居,等等
内森·基德

8
请参阅此处:wiki.jenkins-ci.org/display/JENKINS/…,了解如何将Jenkins添加到Hudson的升级中心。
西蒙·D

27

我要补充两点。第一,Hudson / Jenkins就是关于插件的。插件开发人员已经迁移到Jenkins,因此我们这些用户也应该这样做。第二,我个人不是Oracle产品的忠实拥护者。实际上,我像瘟疫一样避开它们。对于花费在Oracle解决方案的许可和硬件上的金钱,您可以雇用两倍的工程人员,但每个星期五仍有一些人可以买啤酒:)


1
由于所有插件,一个Jenkins可能与另一个完全不同,并且与下次安装时也有所不同。
bbaassssiiee 2014年

4

对于那些提到和解是哈德森和詹金斯的潜在未来的人,而詹金斯将加入SPI的事实,目前他们不太可能达成和解。


4

在Jenkins网站http://jenkins-ci.org上,下面进行了总结。

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

Oracle现在拥有Hudson商标,但已在Eclipse EPL下获得了许可。詹金斯拥有麻省理工学院的执照。哈德森和詹金斯都是开源的。基于您的工作人员和对开源的个人偏爱的综合考虑,决定是直接的恕我直言。

希望这会有所帮助。


3
Hudson现在是Eclipse的顶级项目。
Manfred Moser 2012年

14
甲骨文现在拥有哈德逊公司,詹金斯是开源的。 两者都是MIT许可的。将一个描述为开源,将另一个描述为非开源是一种误导。它们是免费软件。
pb2q 2012年

1
Oracle显然拥有Hudson 名称(作为商标)。
托尔比约恩Ravn的安徒生
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.