我花了一个小时左右才算出 Hudson 最近才分支(2011 年 1 月)
我不知道现在每个分支的变化有多快,但更重要的是,每个分支的方向是什么,关键是什么点,所以人们可以在其中做出选择?
有人有产品路线图和功能差异的链接吗?
我花了一个小时左右才算出 Hudson 最近才分支(2011 年 1 月)
我不知道现在每个分支的变化有多快,但更重要的是,每个分支的方向是什么,关键是什么点,所以人们可以在其中做出选择?
有人有产品路线图和功能差异的链接吗?
使用詹金斯。
Jenkins 是Hudson 核心开发人员最近的一个分支。要了解原因,您需要了解项目的历史。它最初是开源的,由 Sun 提供支持。就像 Sun 所做的很多事情一样,它是相当开放的,但也有一些善意的忽视。源、跟踪器、网站等由 Sun 在其相对封闭的 java.net 平台上托管。
然后甲骨文收购了 Sun。出于各种原因,甲骨文并不羞于利用它所认为的资产。其中包括对 Hudson 物流平台的一些控制,尤其是对 Hudson 名称的控制。许多用户和贡献者对此感到不舒服并决定离开。
因此,归结为 Hudson vs Jenkins 所提供的。Oracle 的 Hudson 和 Jenkins 都有代码。Hudson 拥有 Oracle 和 Sonatype 的企业支持和品牌。Jenkins 拥有大多数核心开发人员、社区和(到目前为止)更多的实际工作。
阅读我在顶部链接的那篇文章,然后按 时间顺序阅读 其余内容 。为了平衡,您可以阅读 Hudson/Oracle 对其的看法。我很清楚谁在防守,谁对这个项目有真正的意图。
正如chmullig 所写,使用Jenkins。一些额外的点:
事实上,可以说是甲骨文做了分叉!从技术上讲,这也是发生的事情。
不过,看看“哈德逊”的结果很有趣。虽然他们在(新的)哈德逊网站上发布的“温斯顿总结了哈德逊项目的状态和美好的未来”的内容最初对我来说似乎是一种奇怪的幽默,但也许这是一次有目的的收购,而 Sonatype 的人实际上有一些伟大的想法他们的袖子。这篇分析建议甲骨文/Sonatype 有意推翻 Kohsuke 和工作人员以创建一个更“进取”的 Hudson,这是一本非常有趣的读物!
无论如何,在分手两周后的这个简短比较——虽然不完全科学——表明詹金斯在这两个项目中要活跃得多。
...以及一些背景信息:
Hudson 的创建者Kohsuke Kawaguchi在空闲时间开始了这个项目,即使他在 Sun Microsystems 工作,后来又被他们支付以进一步开发它。正如@erickson 在另一个 SO question中指出的那样,
[Hudson/Jenkins] 是一个天才才智——Kohsuke Kawaguchi 的产物。正因为如此,它是一致的、连贯的、坚如磐石的。
在被甲骨文收购后,Kohsuke并没有在附近徘徊太久(由于缺乏监视器……?;-]),并前往CloudBees工作。从 2010 年底开始,作为开发社区和 Oracle 之间的工具冲突,到 rename/fork/split 结束,在 chmullig 提供的链接中有详细记录。对我来说,这整个难题可能比其他任何事情都更能说明甲骨文完全没有能力或不愿意以让所有各方(甲骨文、开发人员、用户)满意的方式赞助一个开源项目。正如我们在其他 情况下看到的那样,这不在他们的 DNA 或其他东西中。
综上所述,我个人会在这件事上跟随 Kohsuke 和其他核心开发人员,并选择 Jenkins。
三个月后我对此事的看法:
Jenkins 延续了最初的 Hudson 所走的道路,频繁发布,包括许多小更新。
甲骨文似乎已将 Hudson 未来道路上的工作大部分委托给了 Sonatype 团队,该团队进行了一些重大更改,尤其是在 Maven 方面。他们共同将其移至 Eclipse 基金会。
如果您喜欢以下声音,我建议您:
,那么我建议哈德森。
相反,如果您愿意:
那么我会建议詹金斯。(正如评论者所指出的,Jenkins 现在也有“LTS”版本,这些版本维护在一个更“稳定”的分支上)
保守的做法是现在选择 Hudson,如果必备功能不可用,则迁移到 Jenkins。动态的过程是现在选择 Jenkins 并迁移到 Hudson,如果追逐更新变得太耗时而无法证明是合理的。
预先 .. 我是 Hudson 的提交者和 Hudson 书的作者,但我没有参与项目的整个拆分。
无论如何,这是我的建议:
检查两者,看看什么更适合您的需求。
Hudson 将在今年晚些时候完成向顶级 Eclipse 项目的迁移,并且已经吸引了一大堆全职开发人员、QA 和其他人参与该项目。它仍然很强大,拥有很多用户,并且作为 Eclipse 的默认 CI 服务器,它将继续满足许多 Java 开发人员的需求。查看路线图和未来计划,您会发现在 Maven 3 与 2.1.0 版本的集成完成之后,还有一大堆其他有趣的特性。
另一方面,Jenkins 已经赢得了许多 Hudson 的原始用户,并拥有跨多种技术的庞大用户社区,并且还有一大群开发人员致力于此。
在这个阶段,两个 CI 服务器都是很好的工具,根据您在技术方面的需求,与其中一个或另一个集成可能会更好。这两种产品都是开源的,你可以从不同的公司获得商业支持。
无论如何......如果你还没有使用 CI 服务器......现在开始使用它们中的任何一个,你都会看到巨大的好处。
2013 年 1 月更新:经过长时间的 IP 清理和进一步改进,Hudson 3.0 作为第一个 Eclipse 基金会批准的版本现已推出。
詹金斯是新的哈德逊。它真的更像是一个重命名,而不是一个分支,因为整个开发社区都搬到了 Jenkins。(甲骨文坐在角落里拿着他们的旧球“哈德森”,但现在它只是一个没有灵魂的项目。)
参照 Ethereal -> WireShark
我有两点要补充。一,Hudson/Jenkins 都是关于插件的。插件开发人员已经迁移到 Jenkins,我们这些用户也应该如此。第二,我个人不是甲骨文产品的忠实粉丝。事实上,我像躲避瘟疫一样避开它们。对于 Oracle 解决方案在许可和硬件上花费的钱,您可以雇用两倍的工程人员,而且每周五还有一些剩余的钱可以买啤酒 :)
对于那些提到和解作为 Hudson 和 Jenkins 的潜在未来的人来说,鉴于 Jenkins将加入 SPI的事实,他们目前不太可能和解。
以下是来自 Jenkins 网站http://jenkins-ci.org的总结。
简而言之,Jenkins CI 是领先的开源持续集成服务器。它使用 Java 构建,提供了 300 多个插件来支持构建和测试几乎任何项目。
Oracle 现在拥有 Hudson 商标,但已根据Eclipse EPL对其进行许可。Jenkins 持有MIT 许可证。Hudson 和 Jenkins 都是开源的。根据您为谁工作以及个人对开源的偏好,这个决定很简单,恕我直言。
希望这会有所帮助。