我花了一个小时左右才弄清楚Hudson最近才分支出来(2011年1月)。
我不知道每个分支的变化速度有多快,但更重要的是,每个分支的方向是什么,关键点是什么,这样一个人就可以在它们之间做出选择。
有人有产品路线图和功能差异的链接吗?
我花了一个小时左右才弄清楚Hudson最近才分支出来(2011年1月)。
我不知道每个分支的变化速度有多快,但更重要的是,每个分支的方向是什么,关键点是什么,这样一个人就可以在它们之间做出选择。
有人有产品路线图和功能差异的链接吗?
使用Jenkins。
Jenkins是Hudson核心开发人员最近分支出来的项目。要了解其原因,您需要了解该项目的历史。它最初是由Sun支持的开源项目。就像Sun所做的许多事情一样,它相当开放,但还是有点被忽视。源代码、跟踪器、网站等都托管在Sun的相对封闭的java.net平台上。
然后Oracle收购了Sun。由于各种原因,Oracle并没有对其认为的资产控制感到羞怯。其中包括对Hudson物流平台的某些控制,特别是对Hudson名称的控制。许多用户和贡献者不太舒服,并决定离开。
因此,问题在于Hudson与Jenkins提供什么。Oracle的Hudson和Jenkins都有代码。Hudson拥有Oracle和Sonatype的企业支持和品牌。Jenkins拥有大部分核心开发人员、社区和(到目前为止)更多的实际工作。
请阅读我在上面链接的帖子,然后 阅读 其余部分 这些 按时间顺序 排序。如果您想了解更多,请阅读Hudson/Oracle 对此的看法。对我来说,谁是在进行防御和谁有真正意图为该项目服务是非常清楚的。
正如chmullig所写, 使用Jenkins。以下是一些额外的要点:
实际上,可以说是Oracle当时进行了分离!从技术上讲,就是发生了这样的事情。
不过,“Hudson”会有什么新变化也很有趣。尽管他们在(新的)Hudson网站上发布的 "Winston总结了Hudson项目的现状和光明前景" 看起来像是一种奇怪的幽默,但也许这是一个有目的的接管,Sonatype团队真的有一些大计划。 这篇文章 提出了一种分析,即Oracle/Sonatype有意采取策略,排挤Kohsuke和他的团队,以创建一个更“企业化”的Hudson,非常有趣!
无论如何,这个简短的比较 在分裂后两周内——虽然并不完全科学——显示Jenkins是两个项目中活动最为频繁的。
...还有一些背景信息:
Hudson的创始人Kohsuke Kawaguchi在他的空闲时间开始了这个项目,即使他当时正在Sun Microsystems工作并且后来被他们支付以进一步开发它。正如@erickson在另一个SO问题中指出的那样。
[Hudson/Jenkins]是单一天才智慧的产物-Kohsuke Kawaguchi。因为这个,它是一致的,连贯的和非常稳定的。
在被Oracle收购后,由于缺乏监控,Kohsuke 没待多久就离开了(又是因为什么呢?;-]),然后进入了CloudBees工作。 2010年底开始的开发社区与Oracle之间的工具冲突,最终导致重命名/分叉/拆分,这些都有文献记录,链接由chmullig提供。 对我来说,整个难题或许比其他任何事情都更能说明Oracle在资助开源项目方面的彻底无能或不愿意使所有各方(Oracle、开发人员、用户)满意。 也许这不是他们的DNA问题,正如我们在其他 案例中看到的那样。
鉴于以上种种,个人认为我会像Kohsuke和其他核心开发者一样,选择Jenkins。
这只是我对此事的看法,三个月后:
Jenkins继续以原始Hudson为蓝本,发布频繁且包含许多次要更新。
Oracle似乎已经将未来Hudson道路的工作主要委托给了Sonatype团队,他们做了一些重大变更,特别是与Maven相关。他们共同将其移至Eclipse基金会。
如果您喜欢:
那么我建议使用Hudson。
相反,如果您喜欢:
那么我建议使用Jenkins。(正如一位评论者所指出的,Jenkins现在还有维护更“稳定”分支的“LTS”版本)
保守的做法是现在选择Hudson,并在必须使用功能不可用时迁移到Jenkins。动态的做法是现在选择Jenkins,并在跟新变得过于耗时以至于难以证明时迁移到Hudson。
首先声明,我是Hudson项目的提交者和《Hudson》书籍的作者,但并未参与整个项目分裂事件。
无论如何,这是我的建议:
检查两个工具,看哪个更适合你的需求。
Hudson将在今年晚些时候完成迁移到成为Eclipse主要项目,并有许多全职开发人员、QA和其他人员在项目上工作。它仍然非常强大,而且有很多用户,作为Eclipse默认的CI服务器,它将继续满足许多Java开发人员的需求。通过查看路线图和未来计划,可以看到在2.1.0版本中实现了Maven 3集成之后,还有许多其他有趣的功能。
另一方面,Jenkins赢得了许多原始的Hudson用户,并拥有跨多种技术的大量用户社区,也有许多开发人员在为它工作。
在这个阶段,这两个CI服务器都是非常好用的工具。根据你的技术集成需求,选择其中一个可能会更好。这两个产品都是开源的,你可以从各种公司获得商业支持。
无论如何……如果你还没有使用CI服务器……现在就开始使用其中之一吧,你会看到巨大的好处。
2013年1月更新:经过长时间的知识产权清理和进一步改进,Hudson 3.0作为第一个获得Eclipse基金会批准的版本现已推出。
Jenkins是新的Hudson。实际上,它更像是一次更名而不是一个分支,因为整个开发社区已经转移到了Jenkins。(Oracle现在坐在角落里,拿着他们的旧球“Hudson”,但它只是一个没有灵魂的项目。)
类似于Ethereal -> WireShark。
我有两个要点需要补充。第一,Hudson/Jenkins的重点在于插件。插件开发者已经转移到Jenkins上了,我们用户也应该跟随他们的步伐。第二,我个人不是Oracle产品的铁杆粉丝。事实上,我像避瘟疫一样避免使用它们。为了购买Oracle解决方案所需的许可证和硬件,你可以雇佣两倍的工程师并仍然有余钱购买每周五的啤酒 :)。
从Jenkins网站http://jenkins-ci.org可以看出,Jenkins CI是领先的开源持续集成服务器。它是用Java构建的,提供了超过300个插件来支持构建和测试几乎任何项目。
简而言之,Jenkins CI是领先的开源持续集成服务器。它是用Java构建的,提供了超过300个插件来支持构建和测试几乎任何项目。
Oracle现在拥有Hudson商标,但已经根据Eclipse EPL许可证进行授权。Jenkins基于MIT许可证。Hudson和Jenkins都是开源的。根据您所在公司和个人对开源的偏好,决策是很明显的。
希望这有所帮助。
对于那些提到Hudson和Jenkins可能会和解的人,考虑到Jenkins将加入SPI,目前看来他们不太可能和解。