Jenkins的前身是Hudson,采用JAVA编写的持续集成开源工具。Hudson由Sun公司在2004年启动,第一个版本于2005年在java.net发布。2007年开始Hudson逐渐取代CruiseControl和其他的开源构建工具的江湖地位。在2008年的JavaOne大会上在开发者解决方案中获得杜克选择大奖(Duke's Choice Award)。

在2010年11月期间,因为Oracle对Sun的收购带来了Hudson的所有权问题。主要的项目贡献者和Oracle之间,尽管达成了很多协议,但有个关键问题就是商标名称“Hudson”。甲骨文在2010年12月声明拥有该名称并申请商标的权利。 因此,2011年1月11日,有人要求投票将项目名称从“Hudson”改为“Jenkins”。2011年1月29日,该建议得到社区投票的批准,创建了Jenkins项目。

2011年2月1日,甲骨文表示,他们打算继续开发Hudson,并认为Jenkins只是一个分支,而不是重命名。因此,Jenkins和Hudson继续作为两个独立的项目,每个都认为对方是自己的分支。到2013年12月,GitHub上的Jenkins拥有567个项目成员和约1,100个公共仓库,与此相对的Hudson有32个项目成员和17个公共仓库。到现在两者的差异更多,应该说Jenkins已经全面超越了Hudson。此外,大家可能是出于讨厌Oracle的情绪,作为Java开发者天然地应该支持和使用Jenkins。

从上面两个项目的logo,大家也可以看到两个项目之间的亲戚关系,都是两个老头。左边的是Jenkins,右边是Hudson。后面Hudson被Oracle捐给了Eclipse基金会,所以右边这老头有个Eclipse的光环加持。

下面讨论一下起源相同的两个CI工具,为什么Jenkins更受大家欢迎。

由开发者主导、面向开发者

首先,曾经是Hudson开发人员中的99%都转向了Jenkins的开发,其中包括最初的创建者川口清子(Kohsuke Kawaguchi)。他独自写了大部分代码,并且他的经验是Hudson各种高级特性的关键来源。Jenkins的开发社区更活跃。所以对很多人而言,从血统上看Hudson是后娘养的,Jenkins才是亲生的!

治理和社区

Jenkins开发社区的管理是很开放的。 有一个独立的董事会,其中包括来自Yahoo!, CloudBees,Cloudera和Apture等多家公司的长期以来的Hudson开发人员。每次会议后,他们定期举行治理会议并发表意见,征询公众意见。他们还将所有代码都捐赠给公共利益软件组织(SPI),以确保社区持续开放。

稳定性

分手后,针对Jenkins的贡献不断持续增加,Jenkins制定了新的长期支持发布线。社区定大约每三个月发布一次稳定版本的补丁。

插件的平台

Jenkins支持超过1000个插件。凭借多样而强大的插件Jenkins成了整个开发生命周期中的一个中心点。

到了2017年,两者的发展差异更大了。Jenkins应该说是CI工具中公认的老大,而Hudson不仅不能与Jenkins比,跟其他CI工具比也没什么优势,完全沉沦了。

slant网站对一系列CI工具做了一次对比,其中Jenkins和Hudson的情况如下。

1、基本面问题

工具JenkinsHudson最好的CI工具122最好的JAVA CI工具17最好的自托管CI工具34

2、其他支持

工具JenkinsHudson对Window支持最好1无排名最好的开源CI工具1无排名对BitBucket的支持2无排名对移动开发者支持最好的CI4无排名

3、更多特征

JenkinsHudson免费且开源与Jenkins共享了很多代码,安装还是挺简单的关键的环境变量可以安全存储支持多个SCM,包括SVN, Mercurial, Git。集成了GitHub和Bitbucket高度可配置资源和教程很多安装运行简单分布式的构建也能高效运行可跨平台部署很多高质量的插件得奖无数庞大的社区

看完上面的介绍,Jenkins和Hudson选择谁的问题,已经一目了然了。当然,可能有些同学在阅读本文之前就不知道Hudson是什么,因为Hudson早已沦落了多年了。那大家就当了解了一段历史恩怨看看吧,虽然比不上狗血的什么民国年代情感大戏。

在线编译工具 Jenkins Hudson 的关系相关推荐

  1. 比较好用的python编译器_10个最好用的在线编译工具

    本文要推荐10个最好用的在线编译器,以下顺序不按排名先后: 1.ideone 可以在线编译盒调试C/C++,JAVA,PHP,Python,Perl,以及其他40多种编程语言. 官方网站:www.id ...

  2. C语言在线代码运行编译工具推荐

    C语言在线运行编译,是一款可在线编程编辑器,在编辑器上输入C语言代码,点击运行,可在线编译运行C语言,C语言代码在线运行调试,C语言在线编译,可快速在线测试您的C语言代码,在线编译C语言代码发现是否存 ...

  3. Lua语言在线代码运行编译工具推荐

    Lua语言在线运行编译,是一款可在线编程编辑器,在编辑器上输入Lua语言代码,点击运行,可在线编译运行Lua语言,Lua语言代码在线运行调试,Lua语言在线编译,可快速在线测试您的Lua语言代码,在线 ...

  4. PHP语言在线代码运行编译工具推荐

    PHP语言在线运行编译,是一款可在线编程编辑器,在编辑器上输入PHP语言代码,点击运行,可在线编译运行PHP语言,PHP语言代码在线运行调试,PHP语言在线编译,可快速在线测试您的PHP语言代码,在线 ...

  5. Pascal语言在线代码运行编译工具推荐

    Pascal语言在线运行编译,是一款可在线编程编辑器,在编辑器上输入Pascal语言代码,点击运行,可在线编译运行Pascal语言,Pascal语言代码在线运行调试,Pascal语言在线编译,可快速在 ...

  6. Fortran语言在线代码运行编译工具推荐

    Fortran语言在线运行编译,是一款可在线编程编辑器,在编辑器上输入Fortran语言代码,点击运行,可在线编译运行Fortran语言,Fortran语言代码在线运行调试,Fortran语言在线编译 ...

  7. Swift语言在线代码运行编译工具推荐

    Swift语言在线运行编译,是一款可在线编程编辑器,在编辑器上输入Swift语言代码,点击运行,可在线编译运行Swift语言,Swift语言代码在线运行调试,Swift语言在线编译,可快速在线测试您的 ...

  8. C++语言在线代码运行编译工具推荐

    C++语言在线运行编译,是一款可在线编程编辑器,在编辑器上输入C++语言代码,点击运行,可在线编译运行C++语言,C++语言代码在线运行调试,C++语言在线编译,可快速在线测试您的C++语言代码,在线 ...

  9. 在线python编程编译器-在线编译或编辑Python的5个最佳工具

    离线Python编辑器和编译器都具有许多功能,但是在线编译器通常在功能上受到限制,并试图满足特定需求而不是满足所有需求,其中在线编译大多数是免费的,所以也受到开发者的热爱. 在本文中,我们将浏览各种狂 ...

最新文章

  1. NGUI从入门到实战1.2NGUI的主要特性
  2. java核心api_java核心API
  3. 设计模式--Builder
  4. Microsoft SQL Server中的事务(转载)
  5. Spring Boot 与消息 (JMS、AMQP、RabbitMQ)
  6. 实习生解雇_我们解雇了我们的顶尖人才。 我们做出的最佳决定。
  7. java 根据圆心计算圆弧上点的经纬度_【控制测量学】-高斯投影正算公式以及java代码
  8. springMVC 前后台日期格式传值解决方式之二(共二) @InitBinder的使用
  9. ajax核心技术1---XMLHttpRequset对象的使用
  10. linux search用法,在Linux中使用ldapsearch只返回一个值
  11. 学习 Kotlin 的 20 个实用资源
  12. 计算机telnet命令大全,Telnet 命令使用方法详解
  13. 健康驿站房间线上预约系统网站分析
  14. 雷电模拟器android文件夹在哪,雷电安卓模拟器共享文件怎么用?电脑文件与模拟器互通图文教程...
  15. SpringBoot2.1.9 多MongoDB配置template
  16. OpenDDS制作编译idl文件之一
  17. 思科路由器如何强行中断命令
  18. 成为顶尖的AI算法工程师,你该具备些什么?
  19. xcode 断点不现实栈_真正成为“全栈”是不现实的,但您应该尝试
  20. 专利修改:ps换填充色

热门文章

  1. Tungsten Fabric SDN — DCI
  2. Linux Kernel TCP/IP Stack — L1 Layer — Physical NIC
  3. 5G NGC — AMF 接入和移动性管理功能
  4. Linux 操作系统原理 — 内存 — 基于 MMU 硬件单元的虚/实地址映射技术
  5. NanoPi NEO Air使用三:OverlayFS、CPU温度和频率、wifi、蓝牙、npi-config
  6. 设置stm32系统各部分时钟
  7. 海思 core 电压动态调整
  8. jQuery第二天(操作样式、属性、节点、动画)
  9. Ogre 2011-11-29
  10. Python代码注释