Jenkins Vs Hudson
Hudson是一个用于Java开发的CI(持续集成)服务器。该平台的开发始于Hudson,而Jenkins则是在Sun被Oracle收购时从Hudson分叉出来的,Oracle计划开发一个商业版本的软件。自从分叉以来,Jenkins已经发展成为一个远远超出CI解决方案的工具。
Jenkins和Hudson都运行在Java应用服务器的servlet容器内,可以方便地集成到现有的工作流程中。它们都是我们Java开发过程中的关键部分。我们同时使用这两个服务器,并正在逐步将所有实例迁移到Jenkins上。
Jenkins
Jenkins是最受欢迎的开源自动化服务器,使用Java编程语言编写。它简化了软件开发过程中的持续集成和持续交付(CI/CD)的自动化过程。
Jenkins支持超过1400个插件,可以用于其他软件工具。这些插件将Jenkins扩展为五个方面:平台、UI、管理、源代码管理和构建管理。
Jenkins安装和使用都很简单。它提供了一个令人印象深刻的基于浏览器的项目管理仪表板。
选择Jenkins的一些常见原因包括:
- 开源免费
- 广泛应用和文档齐全
- 充满活力的用户社区
- 与各种工具和技术的集成
- 插件支持
- 安装、配置和升级简单
- 分布式构建
- 监视外部作业
- 支持各种身份验证方法、通知、版本控制系统等
Hudson
Hudson是一个使用Java编写的CI(持续集成)工具,运行在诸如Glassfish或Apache Tomcat应用服务器之类的servlet容器中。它支持Git、CVS、Perforce、ClearCase和RTC等SCM工具,并可以执行基于Apache Maven和Apache Ant的项目,以及任意的shell脚本和Windows批处理命令。
Hudson具有以下特点:
- 开源免费
- 安装和使用简便
您可以轻松编写插件,以支持团队中的工具/流程。并且一旦您提供,其他人也可以使用它们。 - 分布式构建支持
- 团队间支持
- 对Hudson的广泛控制是通过可编程的控制接口实现的
- Hudson在大多数页面上提供了易读的URL,例如“最后成功构建”和“已推广的构建”。
- 提供了法语、英语、德语、日语、俄语、土耳其语和巴西语等本地化支持。您甚至可以轻松创建自己的本地化包。
- Hudson基于通用的构建模块。
Jenkins与Hudson比较表
Hudson与Jenkins之间没有实质性的区别。Jenkins实际上是Hudson的重命名版本。
在Oracle和Hudson创始人之间发生争议后,后者决定分叉出Hudson并创建Jenkins CI。Jenkins是Hudson开源项目的延续,由原始创建者负责,致力于一个开源的未来;而Hudson现在在Oracle的支持下更具结构性。
以下是Jenkins和Hudson之间的主要比较:
Jenkins | Hudson |
---|---|
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支持许多插件。 | Hudson相比Jenkins支持的插件较少。 |