如何选择Hudson和Jenkins?

Gre*_*jan 449 continuous-integration hudson jenkins

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

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

chm*_*lig 501

使用詹金斯.

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

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

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

阅读文章中,我拉上顶部,然后 其余 这些 按时间 顺序.为了平衡,您可以阅读Hudson/Oracle 对它的看法.我很清楚谁在防守并且对项目有真正的意图.

  • 这是[另一个更新](http://daniel.gredler.net/2011/04/04/hudson-and-jenkins-two-months-later/)由编写@ Jonik的简短比较的人.这个是~2个月后. (13认同)
  • 现在五年之后,詹金斯正在蓬勃发展,甲骨文已经将哈德森抛弃在Eclipse大象的墓地上,但它的名字却被遗弃了. (13认同)
  • "它背后的大部分人" - 这似乎是项目创始人的真实情况,但值得注意的是,Sonotype(Maven inc)已经致力于Hudson这一鸿沟的一面,管道中有大量的架构变化.看看詹金斯团队是否还有足够的创新能力来保留开发者/用户的心态,这将会很有趣 (9认同)
  • @magic:至少基于[这个简短的比较](http://daniel.gredler.net/2011/02/15/hudson-and-jenkins-two-weeks-later/),分手后的两周,詹金斯到目前为止更活跃.无论如何,虽然[我和詹金斯在一起](http://stackoverflow.com/questions/4973981/how-to-choose-between-hudson-and-jenkins/5054271#5054271),看看有什么Sonatype的家伙们很乐意. (5认同)

Jon*_*nik 115

正如chmullig所写,使用Jenkins.一些额外的要点:

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

Hudson的创建者Kohsuke Kawaguchi在他的空闲时间开始了这个项目,即使他在Sun Microsystems工作,后来由他们付钱进一步开发.正如@erickson在另一个SO问题上指出的那样,

[Hudson/Jenkins]是一位天才智者 - Kohsuke Kawaguchi的产物.因此,它是一致的,连贯的,坚如磐石的.

在被Oracle收购之后,Kohsuke 没有长时间停留(由于缺少显示器 ......?; -),并且开始为CloudBees工作.从2010年末开始,由于开发社区和Oracle之间的工具发生冲突并以重命名/分叉/拆分结束,这些内容在chmullig提供的链接中有详细记载.对我而言,整个难题最重要的是,甲骨文完全没有能力或不愿意以一种让所有各方(甲骨文,开发者,用户)都感到高兴的方式赞助一个开源项目.它不在他们的DNA或其他东西中,正如我们在其他 情况下所看到的那样.

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


Zac*_*son 90

就在三个月后我对此事的看法:

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

Oracle似乎在很大程度上委托Hudson未来走向Sonatype团队的工作,他们已经做了一些重大改变,特别是对于Maven.他们共同将其移至Eclipse基金会.

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

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

那么我会建议哈德森.

相反,如果您愿意:

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

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


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

  • 或者充分利用这两个世界并使用新的Jenkins长期支持(LTS)版本! (21认同)

Man*_*ser 48

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

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

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

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

http://www.eclipse.org/hudson

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

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

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

2013年1月更新:经过长时间的IP清理和进一步改进,Hudson 3.0作为第一个Eclipse基金会批准的版本现已推出.


Nat*_*idd 38

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

Cf Ethereal - > WireShark

  • 请参阅此处:http://wiki.jenkins-ci.org/display/JENKINS/Upgrading+from+Hudson+to+Jenkins,了解如何将Jenkins添加到Hudson的升级中心. (7认同)
  • 您可以"升级"到Jenkins,就像您以前从一个版本的Hudson升级到另一个版本一样. (3认同)
  • 不,哈德森(甲骨文)不会[1]给詹金斯更新; 如果甲骨文愿意与社区合作,那么首先就不会有分裂.[1]除非猪飞,埃里森先生成为你亲切的友好邻居等. (3认同)

Tim*_*mer 27

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