Hudson (软件)

Hudson是用Java编写的一个持续集成(CI)工具。它运行在Servlet容器中(例如Apache TomcatGlassFish)。它支持软件配置管理(SCM)工具(包括CVSSubversionGitPerforce英语PerforceClearcase英语ClearcaseRTC英语Rational Team Concert),可以执行基于Apache AntApache Maven的项目,以及任意的shell脚本和Windows批处理命令。Hudson的主要开发者是川口耕介,开发期间就职于Sun微系统公司。Hudson是在MIT许可证下发布的自由软件

Hudson
示例:Hudson在浏览器中运行
当前版本3.2.0(2014年7月14日 (2014-07-14)
编程语言Java
操作系统跨平台
类型持续集成
许可协议MIT许可证
网站hudson-ci.org
数据截至2014年1月17日 (2014-01-17)

可以通过各种手段触发构建。例如可以通过类似Cron的机制调度,可以在其他的构建已经完成时,以及可以通过一个特定的URL进行请求。

Hudson在2008年左右基本取代了CruiseControl英语CruiseControl和其他开源的构建服务器(Build Server)。[1][2]在2008年5月的JavaOne大会上,Hudson成为“Duke选择奖”开发人员解决方案分类的得主。[3]

甲骨文公司收购Sun微系统时,甲骨文公司宣布其有意把Hudson的名字作为商标,并开始以商业软件开发。2011年初,开发社区中的多数人(包括川口耕介)决定以Jenkins的名义延续该项目。甲骨文公司坚称Hudson仍在继续开发,而Jenkins是其分支;但Jenkins的开发者认为Hudson是其分支。

随后,甲骨文公司对于Hudson项目丧失了兴趣,最终在2012年底将其捐赠给了Eclipse基金会[4]。截至2013年11月,每天提交给了Jenkins的贡献[5]要比Hudson的[6]多得多。

插件

Hudson可通过一个插件架构进行扩展。许多插件已经公开,扩展了Hudson,使其远远超越了纯粹的Java项目的构建工具。 对于大多数的版本控制系统和大的数据库,有与Hudson集成的插件可用。许多构建(build)工具都是通过他们各自的插件提供支持。插件还可以改变Jenkins的外观,或添加新的功能。

构建时可以生成各种格式的测试报告(JUnit是内置支持的,别的格式则需通过插件)。Hudson可以显示报表,生成趋势图,并在图形化界面中呈现它们。

Hudson——Jenkins的分裂

在2010年11月,就由谁主导Hudson[需要解释][7]该项目的主要贡献者和甲骨文公司之间展开谈判,尽管在多个方面达成一致,争议集中在对“Hudson”名字本身的控制上。甲骨文公司声明对Hudson的名字拥有权利,并在2010年12月初申请将其注册为商标(在2011年10月25日获得商标权)[8]。因此,2011年1月11日,有人提议将项目名称从“Hudson”变更为“Jenkins”。[9]2011年1月29日,社区投票以压倒多数批准通过该提案,创建Jenkins项目。[10]2011年2月1日,甲骨文公司表示,继续与社区中的其他人合作,延续Hudson的开发。[11]

移交给Eclipse基金会

2011年5月3日,Eclipse基金会与Hudson的主要提交者、甲骨文公司、Sonatype英语Sonatype和其他的社区支持者发出了正式的提议,将Hudson(包括核心代码和存在问题的商标)转交给Eclipse基金会。[12]Hudson的创始人川口耕介表示甲骨文公司此举是在考验Jenkins。“当我们与甲骨文公司的谈判找到一个中间地带时,他们说得很清楚,他们不打算放弃对Hudson商标的控制。但这一举动[13]表明他们清楚地认识到甲骨文公司无法使Hudson项目跟上Jenkins项目。” [14]2012年1月24日,Eclipse宣布把Hudson 3列入Eclipse基金会。[15]

参见

参考文献

  1. ^ Dan Dyer. Why are you still not using Hudson?. [2008-05-21]. (原始内容存档于2012-04-26). 
  2. ^ What is the difference between Hudson and CruiseControl for Java projects?. Stack Overflow. [2011-01-17]. (原始内容存档于2010-09-06). 
  3. ^ 2008 JavaOne Conference: Duke's Choice Awards Winners for 2008. [2008-05-21]. (原始内容存档于2012-04-26). 
  4. ^ Hudson. Eclipse Foundation. [2014-07-26]. (原始内容存档于2014-07-27). 
  5. ^ Commits·jenkinsci/jenkins. GitHub. [2014-07-25]. (原始内容存档于2019-02-16). 
  6. ^ Hudson Core. Eclipse基金会. [2014-07-25]. (原始内容存档于2014-04-21). 
  7. ^ Who's driving this thing?. [2011-01-31]. (原始内容存档于2013-03-12). 
  8. ^ Hudson Trademark Listing on Trademarks411. [2012-02-13]. (原始内容存档于2014-12-06). 
  9. ^ Hudson's future. [2011-01-11]. (原始内容存档于2011-01-12). 
  10. ^ Rename Vote Results. [2011-01-29]. (原始内容存档于2019-10-17). 
  11. ^ The Future of Hudson. [2011-02-02]. (原始内容存档于2011-02-05). 
  12. ^ Eclipse Foundation proposal. [2011-05-03]. (原始内容存档于2011-05-09). 
  13. ^ 指移交Hudson给Eclipse基金会。
  14. ^ Oracle hands Hudson to Eclipse, but Jenkins fork seems permanent. InfoWorld. 2011-05-04 [2011-08-10]. (原始内容存档于2012-03-07). 
  15. ^ 存档副本. [2013-12-08]. (原始内容存档于2013-12-08). 

外部链接