454

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

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

4

8 回答 8

507

使用詹金斯

Jenkins 是Hudson 核心开发人员最近的一个分支。要了解原因,您需要了解项目的历史。它最初是开源的,由 Sun 提供支持。就像 Sun 所做的很多事情一样,它是相当开放的,但也有一些善意的忽视。源、跟踪器、网站等由 Sun 在其相对封闭的 java.net 平台上托管。

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

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

阅读我在顶部链接的那篇文章,然后 时间顺序阅读 其余内容 。为了平衡,您可以阅读 Hudson/Oracle 对其的看法。我很清楚谁在防守,谁对这个项目有真正的意图。

于 2011-02-11T21:04:03.253 回答
116

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

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

Hudson 的创建者Kohsuke Kawaguchi在空闲时间开始了这个项目,即使他在 Sun Microsystems 工作,后来又被他们支付以进一步开发它。正如@erickson 在另一个 SO question中指出的那样,

[Hudson/Jenkins] 是一个天才才智——Kohsuke Kawaguchi 的产物。正因为如此,它是一致的、连贯的、坚如磐石的。

在被甲骨文收购后,Kohsuke并没有在附近徘徊太久由于缺乏监视器……?;-]),并前往CloudBees工作。从 2010 年底开始,作为开发社区和 Oracle 之间的工具冲突,到 rename/fork/split 结束,在 chmullig 提供的链接中有详细记录。对我来说,这整个难题可能比其他任何事情都更能说明甲骨文完全没有能力或不愿意以让所有各方(甲骨文、开发人员、用户)满意的方式赞助一个开源项目。正如我们在其他 情况下看到的那样,这不在他们的 DNA 或其他东西中。

综上所述,我个人会在这件事上跟随 Kohsuke 和其他核心开发人员,并选择 Jenkins。

于 2011-02-19T23:47:26.963 回答
90

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

Jenkins 延续了最初的 Hudson 所走的道路,频繁发布,包括许多小更新。

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

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

  • 不太频繁的发布,但对向后兼容性进行了更严格测试的发布(更多的是“企业式”发布周期)
  • 主要专注于强大的 Maven 和/或 Nexus 集成的产品(即,您对 Gradle 和 Artifactory 等不感兴趣)
  • Sonatype 或 Oracle 提供的专业支持产品优先于 Cloudbees 等
  • 您不介意拥有一个较小的插件开发人员社区等。

,那么我建议哈德森。

相反,如果您愿意:

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

那么我会建议詹金斯。(正如评论者所指出的,Jenkins 现在也有“LTS”版本,这些版本维护在一个更“稳定”的分支上)


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

于 2011-05-11T21:24:27.553 回答
48

预先 .. 我是 Hudson 的提交者和 Hudson 书的作者,但我没有参与项目的整个拆分。

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

检查两者,看看什么更适合您的需求。

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

http://www.eclipse.org/hudson

另一方面,Jenkins 已经赢得了许多 Hudson 的原始用户,并拥有跨多种技术的庞大用户社区,并且还有一大群开发人员致力于此。

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

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

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

于 2011-08-30T19:37:03.523 回答
38

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

参照 Ethereal -> WireShark

于 2011-02-11T21:04:00.757 回答
27

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

于 2011-05-13T16:16:07.633 回答
4

对于那些提到和解作为 Hudson 和 Jenkins 的潜在未来的人来说,鉴于 Jenkins将加入 SPI的事实,他们目前不太可能和解。

于 2011-06-15T19:10:00.450 回答
4

以下是来自 Jenkins 网站http://jenkins-ci.org的总结。

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

Oracle 现在拥有 Hudson 商标,但已根据Eclipse EPL对其进行许可。Jenkins 持有MIT 许可证。Hudson 和 Jenkins 都是开源的。根据您为谁工作以及个人对开源的偏好,这个决定很简单,恕我直言。

希望这会有所帮助。

于 2011-06-04T21:03:23.480 回答