Continuous integration 如何在哈德逊和詹金斯之间做出选择?
我花了一个小时左右的时间才了解到哈德逊河最近才有分支(2011年1月)Continuous integration 如何在哈德逊和詹金斯之间做出选择?,continuous-integration,hudson,jenkins,Continuous Integration,Hudson,Jenkins,我花了一个小时左右的时间才了解到哈德逊河最近才有分支(2011年1月) 我不知道现在每个分支机构的变化有多快,但更重要的是,每个分支机构正在朝着什么方向发展,有哪些关键点可以让人们在两者之间做出选择 有人链接到产品路线图和功能差异吗 詹金斯是新的哈德逊。它实际上更像是一个重命名,而不是叉子,因为整个开发社区都搬到了Jenkins。(甲骨文坐在角落里,手里拿着他们的老球“哈德逊”,但现在这只是一个没有灵魂的项目。) C.f.Ethereal->WireShark使用 Jenkins是Hudson的
我不知道现在每个分支机构的变化有多快,但更重要的是,每个分支机构正在朝着什么方向发展,有哪些关键点可以让人们在两者之间做出选择
有人链接到产品路线图和功能差异吗 詹金斯是新的哈德逊。它实际上更像是一个重命名,而不是叉子,因为整个开发社区都搬到了Jenkins。(甲骨文坐在角落里,手里拿着他们的老球“哈德逊”,但现在这只是一个没有灵魂的项目。) C.f.Ethereal->WireShark使用 Jenkins是Hudson的核心开发人员推荐的。要了解原因,您需要了解项目的历史。它最初是开源的,由Sun支持。就像太阳所做的很多事情一样,它是相当开放的,但也有一些善意的忽视。源代码、跟踪器、网站等由Sun在其相对封闭的java.net平台上托管 然后甲骨文收购了太阳。出于各种原因,甲骨文并不羞于利用它所认为的资产。其中包括对哈德逊物流平台的一些控制,特别是对哈德逊名称的控制。许多用户和贡献者对此感到不舒服,决定离开 所以,这取决于哈德逊对詹金斯的比赛。甲骨文公司的哈德逊和詹金斯都有代码。哈德逊拥有甲骨文和索纳Type的公司支持和品牌。Jenkins拥有大多数核心开发人员、社区和(到目前为止)更多的实际工作 阅读我在顶部链接的帖子。为了平衡,你可以阅读哈德逊/甲骨文。我很清楚谁在防守,谁对这个项目有真正的意图。。还有几点:
- 事实上!技术上也是如此
- 不过,看看《哈得逊》会有什么结果是很有趣的。虽然他们在(新的)哈德逊网站上发布的东西最初对我来说似乎是一种奇怪的幽默,但也许这是一次有目的的收购,而索纳泰普的家伙们实际上有一些重要的想法,建议Oracle/Sonatype采用深思熟虑的策略,驱逐Kohsuke和crew,创建一个更“进取”的哈德逊,这是一本非常有趣的书
- 无论如何,两次分离后的两周,虽然不完全是科学研究,但詹金斯在这两个项目中表现得更加积极
考虑到以上所有因素,我个人会关注Kohsuke和其他核心开发人员,并与Jenkins一起去。三个月后,我对这件事的看法如下: 詹金斯继续了最初的哈德逊所走过的道路,频繁发布,包括许多小的更新 甲骨文似乎已经将哈德逊未来道路的工作大部分委托给了Sonatype团队,该团队已经完成了一些重大的改变,特别是在Maven方面。他们已经把它转移到Eclipse基金会。 我建议,如果您喜欢以下声音:
- 不太频繁的发布,但更严格的向后兼容性测试(更多的是“企业风格”的发布周期)
- 主要专注于强大的Maven和/或Nexus集成的产品(即,您对Gradle和Artifactory等不感兴趣)
- Sonatype或Oracle提供的专业支持服务优先于Cloudbees等
- 你不介意有一个更小的插件开发者社区等等
- 更频繁的更新,即使它们需要更频繁的调整,并且在兼容性方面可能稍有风险(更多的是“最新和最好的”发布周期)
- 对其他构建系统/工件存储库等具有更积极社区支持的系统
- 原始创建者等提供的支持服务和/或您对专业支持不感兴趣(例如,只要您能在下周的“最新和最棒”中获得修复,您就会感到高兴)
- 开发生态系统的经典OSS风格女巫酿造
保守的做法是现在就选择哈德逊,如果必备功能不可用,就迁移到詹金斯。动态过程将是现在选择詹金斯,如果追踪更新变得太耗时而无法证明其合理性,则迁移到哈德逊。我有两点要补充。第一,Hudson/Jenkins都是关于插件的。插件开发人员已经转移到詹金斯,我们用户也应该如此。第二,我个人不是甲骨文产品的忠实粉丝。事实上,我像躲避瘟疫一样躲避它们。花在Oracle解决方案的许可和硬件上的钱,你可以雇佣两倍的工程人员,还有一些剩余的钱可以在每周五买啤酒:)