Jenkins Vs Hudson

2024 年 8 月 29 日 | 阅读 3 分钟

Hudson 是一个用于 Java 开发的 CI(持续集成)服务器。这个平台的开发始于 Hudson,而 Jenkins 是在 Sun 被 Oracle 收购时从 Hudson 分叉出来的,Oracle 的目的是开发该软件的商业版本。自从分叉以来,Jenkins 已经发展成为远不止一个 CI 解决方案。

Jenkins 和 Hudson 都在 Java 应用程序服务器上的 servlet 容器中运行,可以轻松集成到您现有的工作流程中。它们都是我们 Java 开发过程的关键部分。我们使用两个服务器,并正在逐步将所有实例迁移到 Jenkins。

Jenkins

Jenkins 是用 Java 编程语言编写的最受欢迎的开源自动化服务器。它促进了软件开发过程中持续集成和持续交付 (CI/CD) 的自动化过程。

Jenkins 支持 1,400 多个其他软件工具的插件。这些插件将 Jenkins 扩展到五年;平台、UI、管理、源代码管理和构建管理。

Jenkins 易于安装和使用。它提供了一个令人印象深刻的基于浏览器的项目管理仪表板。

评估和选择 Jenkins 的一些常见原因包括

  • 开源和免费
  • 广泛使用且文档齐全
  • 充满活力的用户社区
  • 与各种工具和技术的集成。
  • 插件支持
  • 易于安装、配置和升级
  • 分布式构建
  • 监控外部作业
  • 支持各种身份验证方法、通知、版本控制系统等。

Hudson

Hudson 是一个用 Java 编写的 CI(持续集成)工具,它运行在 servlet 容器中,如 Glassfish 或 Apache Tomcat 应用程序服务器。它支持 SCM 工具,如 Git、CVS、Perforce、ClearCase 和 RTC,并且可以执行基于 Apache Maven 和 Apache Ant 的项目,以及任意 shell 脚本和 Windows 批处理命令。

Hudson 具有以下特点:

  • Hudson 是开源且免费的。
  • 易于安装和使用
  • 您可以轻松编写插件来支持团队中的工具/流程。在您提供后,其他人也可以使用它们。
  • 分布式构建支持
  • 团队间支持
  • 由于可编程控制界面,Hudson 具有广泛的外部控制能力
  • Hudson 用于为大多数页面提供易于阅读的 URL,例如“上次成功构建”和“已提升的构建”。
  • 本地化支持法语、英语、德语、日语、俄语、土耳其语和巴西语。甚至可以轻松创建自己的本地化包。
  • Hudson 构建在通用构建块上。

Jenkins 与 Hudson 比较表

Hudson 和 Jenkins 之间没有太大的区别。Jenkins 实际上是 Hudson 的重命名版本。

在 Oracle 和 Hudson 创建者之间存在分歧之后,后者决定将 Hudson 分叉为 Jenkins CI。 Jenkins 是 Hudson 开源项目的延续,由原始创建者领导,并朝着开源的未来发展; Hudson 现在在 Oracle 的管理下,周围有更多的结构。

以下是 Jenkins 和 Hudson 之间的主要比较:

JenkinsHudson
Jenkins 是可扩展的开源持续集成服务器。Hudson 是可扩展的持续集成服务器。
Jenkins 是从 Hudson 分叉出来的。Hudson 是 CI 工具。
Jenkins 被 Netflix、Facebook、ebay、LinkedIn、Instacart 等公司使用。Hudson 被 Logo Yazilim、TableAir UAB 和 OptoSweden AB 等公司使用。
Jenkins 与 Slack、Datadog、BrowserStack、Sauce Labs、JBoss 等工具集成。Maven 与 JavaScript、Java、HTML5 和 Tuleap 工具集成。
Jenkins 支持大量插件。与 Jenkins 相比,Hudson 支持的插件较少。

下一个主题Jenkins 与 GoCD