我花了一个小时左右才弄清楚Hudson最近才开始分支(2011年1月)
我不知道现在每个分支的变化有多快,但更重要的是,每个分支的方向是什么,关键点是什么,以便可以选择哪个分支?
任何人都有产品路线图和功能差异的链接?
#1楼
詹金斯是新的哈德森。 它真的更像是重命名,而不是分叉,因为整个开发社区都搬到了Jenkins。 (甲骨文坐在角落里抱着他们的老球“哈德森”,但现在只是一个没有灵魂的项目。)
Cf Ethereal - > WireShark
#2楼
使用詹金斯 。
Jenkins是Hudson核心开发人员最近的分支 。 要了解原因,您需要了解项目的历史。 它最初是开源的,由Sun支持。 像Sun所做的那样,它是相当开放的,但有一点良性忽视。 源,跟踪器,网站等由Sun在其相对封闭的java.net平台上托管。
然后甲骨文收购了Sun. 出于各种原因,甲骨文并不羞于利用它所认为的资产。 其中包括对Hudson物流平台的一些控制,特别是对Hudson名称的控制。 许多用户和贡献者对此并不满意并决定离开。
所以它归结为Hudson vs Jenkins提供的内容。 Oracle的Hudson和Jenkins都有代码。 Hudson拥有Oracle和Sonatype的企业支持和品牌。 Jenkins拥有大多数核心开发人员,社区和(到目前为止)更多的实际工作。
阅读文章中,我拉上顶部, 然后 读 其余 这些 按时间 顺序 。 为了平衡,您可以阅读Hudson / Oracle 对它的看法 。 我很清楚谁在防守并且对项目有真正的意图。
#3楼
正如chmullig所写 ,使用Jenkins 。 一些额外的要点:
事实上, 可以说是Oracle做了分叉 ! 从技术上讲,这也是发生的事情 。
看看“哈德森”的结果很有意思。 虽然“温斯顿总结了Hudson项目的状态和乐观的未来”,他们在(新的)Hudson网站上发布的内容最初对我来说似乎很奇怪,也许这是一次有目的的收购,而Sonatype的人实际上有一些重要的想法他们的袖子。 这个分析 ,暗示Oracle / Sonatype故意推翻Kohsuke和工作人员制定更“有事业”的Hudson的策略是一个非常有趣的读物!
无论如何, 这一短暂的比较在分裂后两周 - 虽然不完全科学 - 显示詹金斯在这两个项目中更加活跃。
......还有一些背景信息:
Hudson的创建者Kohsuke Kawaguchi在他的空闲时间开始了这个项目,即使他在Sun Microsystems工作,后来由他们付钱进一步开发。 正如@erickson在另一个SO问题上指出的那样 ,
[Hudson / Jenkins]是一位天才智者 - Kohsuke Kawaguchi的产物。 因此,它是一致的,连贯的,坚如磐石的。
在被Oracle收购之后,Kohsuke 并没有长时间停留 ( 由于缺少显示器 ......?; - ),并且开始为CloudBees工作。 从2010年末开始,由于开发社区和Oracle之间的工具发生冲突并以重命名/分叉/拆分结束,这些内容在chmullig提供的链接中有详细记载。 对我而言,整个难题最重要的可能是甲骨文完全没有能力或不愿意以一种让所有各方(甲骨文,开发者,用户)感到高兴的方式赞助一个开源项目。 它不在他们的DNA或其他东西中,正如我们在其他 情况下所看到的那样。
考虑到上述所有情况,我会亲自跟随Kohsuke和其他核心开发人员,并与Jenkins一起。
#4楼
就在三个月后我对此事的看法:
詹金斯继续沿着最初的哈德森所经历的道路,经常发布包括许多小的更新。
Oracle似乎在很大程度上委托Hudson未来走向Sonatype团队的工作,他们已经做了一些重大改变,特别是对于Maven。 他们共同将其移至Eclipse基金会。
如果您喜欢以下声音,我建议您:
- 较不频繁的版本,但经过更严格的向后兼容测试(更多的是“企业式”发布周期)
- 主要针对强大的Maven和/或Nexus集成的产品(即,您对Gradle和Artifactory等没有兴趣)
- Sonatype或Oracle的专业支持服务,优先于Cloudbees等
- 你不介意拥有一个较小的插件开发者社区等。
那么我会建议哈德森。
相反,如果您愿意:
- 更频繁的更新,即使它们需要更频繁的调整,并且在兼容性方面可能稍微冒险(更多的是“最新和最好的”发布周期)
- 具有更多活动社区支持的系统,例如,其他构建系统/工件存储库
- 支持原始创作者等人提供的产品。 和/或你对专业支持毫无兴趣(例如,只要你能在下周的“最新和最好的”中得到解决方案,你就会感到高兴)
- 一个经典的OSS风格的女巫酿造发展生态系统
然后我会建议詹金斯。 (并且作为一名评论者指出,Jenkins现在也有“LTS”版本,这些版本在更“稳定”的分支上维护)
保守的做法是现在选择Hudson,如果必备功能不可用,则迁移到Jenkins。 动态过程将是现在选择Jenkins并迁移到Hudson,如果追逐更新变得太费时无法证明。
#5楼
我有两点需要补充。 其一,Hudson / Jenkins就是插件。 插件开发人员已经转移到Jenkins,我们也应该转向用户。 二,我个人不是甲骨文产品的忠实粉丝。 事实上,我像瘟疫一样避免它们。 对于在Oracle解决方案上花费在许可和硬件上的资金,您可以雇用两倍的工程人员,并且每周五还有一些剩余的用于购买啤酒:)
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3161377