【问题标题】:How to choose between Hudson and Jenkins? [closed]哈德逊和詹金斯如何选择? [关闭]
【发布时间】:2011-06-25 19:55:11
【问题描述】:

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

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

【问题讨论】:

  • 你最终在 Jenkins 和 Hudson 之间做出了怎样的选择?
  • @Kev:我不同意,这个问题没有建设性。这不是像“x vs. y,哪个更喜欢”这样的辩论,而是关于Hudson的一个分支,这是一个非常有用的信息。
  • 是的,这个帖子需要重新打开才能获得更多最新答案。
  • 我理解这类问题的危险性,但在我看来 (i) 它带来了一些非常有趣的信息,(ii) 没有引发任何争议,并且 (iii ) 是合法的,因为没有这种信息就不容易选择
  • 自从提出并回答了这个问题后,Oracle 决定将 Hudson 交给 Eclipse 基金会。有关详细信息,请参阅eclipse.org/hudson。截至 2016 年 10 月 3 日,它似乎有点陈旧,承诺的 3.4.0 次要版本现在晚了一个月。根据git.eclipse.org/c/hudson/org.eclipse.hudson.core.git/… 的说法,2016 年上半年核心 Hudson 中总共有 10 次提交,之后就没有了。出于所有实际目的,它似乎已被放弃。

标签: continuous-integration hudson jenkins


【解决方案1】:

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

参考空灵 -> WireShark

【讨论】:

  • 我与正在运行的 Hudson Build 服务器有什么关系?我猜它不会自动更新到新的 Jenkins fork/branch/rename。我必须从头开始设置构建服务器吗?
  • 您可以像从一个版本的 Hudson 升级到另一个版本一样“升级”到 Jenkins。
  • 我目前正在运行 Hudson 1.395。目前它不显示我的可用更新。改名的更新会在稍后发布吗?
  • 不,Hudson (Oracle) 不会[1] 向 Jenkins 提供更新;如果甲骨文愿意与社区合作,那么一开始就不会出现分裂。 [1] 除非猪飞,埃里森先生成为你的好邻居,等等。
  • 查看这里:wiki.jenkins-ci.org/display/JENKINS/… 了解如何将 Jenkins 添加到 Hudson 的升级中心。
【解决方案2】:

使用Jenkins

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

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

因此,这取决于 Hudson vs Jenkins 提供的内容。 Oracle 的 Hudson 和 Jenkins 都有代码。 Hudson 拥有 Oracle 和 Sonatype 的企业支持和品牌。 Jenkins 拥有大多数核心开发人员、社区和(迄今为止)更多的实际工作。

阅读我在顶部链接的那篇帖子,thenreadthe rest ofthesein chronologicalorder。为了平衡,您可以阅读 Hudson/Oracle take on it。我很清楚谁在防守,谁对这个项目有真正的意图。

【讨论】:

  • “它背后的大多数人” - 这似乎是项目创始人的真实情况,但应该注意的是,Sonotype (Maven inc) 已经致力于分水岭的哈德逊一方,与管道中的大量架构更改。看看 Jenkins 团队是否仍有足够的创新来留住开发人员/用户的思想份额,这将很有趣
  • @magic:至少基于this brief comparison,在分手两周后,詹金斯要活跃得多。无论如何,虽然I'm with Jenkins,看看 Sonatype 的家伙在做什么很有趣。
  • 这里是@Jonik 简短比较的作者another update。这个是大约 2 个月后。
  • 五年后的现在,Jenkins 正在蓬勃发展,甲骨文将 Hudson 扔到了 Eclipse 大象墓地,但名义上却被遗弃了。
  • 现在哈德逊被正式放弃了。
【解决方案3】:

作为chmullig wrote,使用Jenkins。补充几点:

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

Hudson 的创建者 Kohsuke Kawaguchi 在空闲时间开始了这个项目,即使他在 Sun Microsystems 工作,后来被他们支付以进一步开发它。作为@erickson noted at another SO question

[Hudson/Jenkins] 是一个天才的产物 才智——川口康介。因为 其中,它是一致的,连贯的, 坚如磐石。

被甲骨文收购后,Kohsuke didn't hang around for long由于lack of monitors...?;-]),并去了CloudBees工作。从 2010 年底开始,作为开发社区和 Oracle 之间的工具冲突,到 rename/fork/split 结束,在 chmullig 提供的链接中有详细记录。对我来说,这整个难题可能比其他任何事情都更能说明甲骨文完全没有能力或不愿意以让所有各方(甲骨文、开发人员、用户)满意的方式赞助一个开源项目。正如我们在 other cases 中看到的那样,这不在他们的 DNA 或其他东西中。

鉴于以上所有,我个人会在这件事上跟随 Kohsuke 和其他核心开发人员,并与 Jenkins 一起去。

【讨论】:

    【解决方案4】:

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

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

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

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

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

    ,那我建议哈德森。

    相反,如果您愿意:

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

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


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

    【讨论】:

    • 或者两全其美并使用新的 Jenkins 长期支持 (LTS) 版本!
    【解决方案5】:

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

    【讨论】:

    • 由于所有插件,一个 Jenkins 可能与另一个完全不同,并且与您下次安装它时也不同。
    【解决方案6】:

    来自 Jenkins 网站,http://jenkins-ci.org,总结如下。

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

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

    希望这对您有所帮助。

    【讨论】:

    • Hudson 现在是一个顶级的 Eclipse 项目。
    • Oracle 现在拥有 hudson,而 Jenkins 是开源的。 两者都是 MIT Licensed。将一个描述为开源而另一个描述为非开源是具有误导性的。它们是免费软件。
    • Oracle 显然拥有 Hudson name(作为商标)。
    【解决方案7】:

    对于那些提到和解是 Hudson 和 Jenkins 的潜在未来的人,鉴于 Jenkins will be joining SPI 的事实,目前他们不太可能和解。

    【讨论】:

      【解决方案8】:

      预先 .. 我是 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 基金会批准的版本现已推出。

      【讨论】:

        猜你喜欢
        • 2023-03-18
        • 2012-07-28
        • 2011-08-14
        • 2017-06-27
        • 1970-01-01
        • 1970-01-01
        • 2023-01-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多