哈德逊和詹金斯如何选择? [关闭]

     2023-02-16     19

关键词:

【中文标题】哈德逊和詹金斯如何选择? [关闭]【英文标题】: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 次提交,之后就没有了。出于所有实际目的,它似乎已被放弃。 【参考方案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。补充几点:

事实上,arguably it was Oracle who did the forking!从技术上讲,that's kinda what happened。

不过,看看“Hudson”的内容很有趣。虽然他们在(新)Hudson 网站上发布的 "Winston summarizes the state and rosy future of the Hudson project" 内容最初对我来说似乎很奇怪,但也许这是一次有目的的收购,而 Sonatype 的家伙实际上有一些大主意。 This analysis,建议甲骨文/Sonatype 有意推翻 Kohsuke 和工作人员以创建一个更“企业”的 Hudson,这是一本非常有趣的读物!

在任何情况下,this brief comparison 在拆分后两周(虽然不完全科学)表明 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 基金会批准的版本现已推出。

【讨论】:

詹金斯管道选择性删除

】詹金斯管道选择性删除【英文标题】:Jenkinspipelineselectivedelete【发布时间】:2017-05-1116:18:09【问题描述】:我正在慢慢地用Jenkins管道取代传统工作。我们有一些工作,我之前通过仅从先前构建的工作区中删除一些关键文件来... 查看详情

詹金斯选择与终端不同的配置文件说明符

】詹金斯选择与终端不同的配置文件说明符【英文标题】:jenkinschoosingdifferentprovisioningprofilespecifierthanterminal【发布时间】:2021-08-0919:51:05【问题描述】:我有一台Jenkins构建了一台机器,该机器通过与GitHub的webhook集成运行Jenkins... 查看详情

哈德逊 cobertura 报告 0

】哈德逊cobertura报告0【英文标题】:hudsoncoberturareporting0【发布时间】:2010-11-0404:39:24【问题描述】:我有一个问题,当我运行cobertura目标maven时,报告总是显示0%。我尝试分叉我的junit测试,但没有运气。我尝试在pom的报告部分... 查看详情

如何向正在运行的詹金斯作业发送信号

】如何向正在运行的詹金斯作业发送信号【英文标题】:HowcanIsendasignaltoarunningjenkinsjob【发布时间】:2016-03-1506:28:35【问题描述】:我们的集成测试在jenkins(带有docker插件)和selenium上运行。当测试失败时,我们希望容器仍在运... 查看详情

如何在另一个詹金斯管道B中调用詹金斯管道A

】如何在另一个詹金斯管道B中调用詹金斯管道A【英文标题】:HowtoinvokeajenkinspipelineAinanotherjenkinspipelineB【发布时间】:2017-09-0607:37:45【问题描述】:我有两个Jenkins流水线,比如说流水线A和流水线B。我想在管道-B中调用管道-A。... 查看详情

如何选择和优化oracle索引? [关闭]

】如何选择和优化oracle索引?[关闭]【英文标题】:Howtochooseandoptimizeoracleindexes?[closed]【发布时间】:2010-09-1718:09:14【问题描述】:我想知道是否有创建索引的一般规则。如何选择应该包含在此索引中的字段或何时不包含它们?... 查看详情

如何在 XGBRegressor 中选择 'n_estimators' 和 'seed' 的值? [关闭]

】如何在XGBRegressor中选择\\\'n_estimators\\\'和\\\'seed\\\'的值?[关闭]【英文标题】:Howtochoosethevaluesof\'n_estimators\'and\'seed\'inXGBRegressor?[closed]如何在XGBRegressor中选择\'n_estimators\'和\'seed\'的值?[关闭]【发布时间】:2021-05-0501:51:02【问题... 查看详情

呈现和关闭模式视图控制器时如何保持选择集合视图单元格?

】呈现和关闭模式视图控制器时如何保持选择集合视图单元格?【英文标题】:Howtokeepcollectionviewcellselectedwhenpresentinganddismissingmodalviewcontroller?【发布时间】:2018-08-1019:08:43【问题描述】:我有一个UICollectionViewController,它也可以... 查看详情

如何在 OpenTSDB 和 InfluxDB 或其他 TSDS 之间做出选择? [关闭]

】如何在OpenTSDB和InfluxDB或其他TSDS之间做出选择?[关闭]【英文标题】:HowtomakeachoicebetweenOpenTSDBandInfluxDBorotherTSDS?[closed]【发布时间】:2014-10-2120:08:10【问题描述】:它们都是开源的分布式时序数据库,OpenTSDB用于度量,InfluxDB用... 查看详情

詹金斯:如何测试奴隶

】詹金斯:如何测试奴隶【英文标题】:Jenkins:howtotesttheslaves【发布时间】:2016-01-0521:29:30【问题描述】:我正在为我们的Jenkins构建环境的健全性测试创建一个Jenkins作业列表。我想创建多层工作。第一层作业将检查环境,例如... 查看详情

如何使用 JavaFX 将选择框、复选框和文本字段实现为一个按钮 [关闭]

】如何使用JavaFX将选择框、复选框和文本字段实现为一个按钮[关闭]【英文标题】:Howcanachoicebox,checkbox,andtextfieldbeimplementedintoonebuttonwithJavaFX[closed]【发布时间】:2021-07-1804:41:33【问题描述】:我正在尝试创建一个程序,该程序可... 查看详情

哈德逊在线节点计数

Returns,howmanyhudsonslavesisconnectedandworkingnowhudson.model.Hudson.instance.nodes.findAll{!it.toComputer().offline}.size() 查看详情

泽西岛客户端:詹金斯重定向时身份验证失败

】泽西岛客户端:詹金斯重定向时身份验证失败【英文标题】:JerseyClient:AuthenticationfailsatredirectbyJenkins【发布时间】:2020-03-0312:07:09【问题描述】:我正在尝试使用Jenkins的RESTapi。Jenkins需要对URL的POST请求来删除作业。结果如下... 查看详情

詹金斯 - 将视图移入视图

】詹金斯-将视图移入视图【英文标题】:Jenkins-MoveViewintoView【发布时间】:2015-01-2116:18:50【问题描述】:我有3个视图并希望将它们集成到一个视图中,以便它们成为该视图中的子文件夹。我该怎么做?还是我必须先制作一个视... 查看详情

如何解决詹金斯“磁盘空间太低”的问题?

】如何解决詹金斯“磁盘空间太低”的问题?【英文标题】:Howtosolvejenkins\'Diskspaceistoolow\'issue?【发布时间】:2012-05-0617:55:16【问题描述】:我在我的CentOS机器上部署了Jenkins,Jenkins运行了3天,但昨天出现了Diskspaceistoolow.Only1.019G... 查看详情

java示例代码_让哈德逊能够访问JUnit

java示例代码_让哈德逊能够访问JUnit 查看详情

如何在詹金斯中安排多个配置文件?

】如何在詹金斯中安排多个配置文件?【英文标题】:howtoschedulemultipleconfigfilesinajenkins?【发布时间】:2018-01-2604:34:54【问题描述】:我是jenkins的新手,我有一份jenkins工作,它有两个配置文件。我想定期安排这项工作,例如第一... 查看详情

如何使用离子框架在选择选项中获取带有图像和名称的下拉菜单? [关闭]

】如何使用离子框架在选择选项中获取带有图像和名称的下拉菜单?[关闭]【英文标题】:HowdoIgetthedropdownwithimageandnameinselectoptionusingionicframework?[closed]【发布时间】:2017-01-0509:44:09【问题描述】:我想在带有国旗的选择选项中列... 查看详情