Hudson (软件)
Hudson是用Java编写的一个持续集成(CI)工具。它运行在Servlet容器中(例如Apache Tomcat、GlassFish)。它支持软件配置管理(SCM)工具(包括CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的shell脚本和Windows批处理命令。Hudson的主要开发者是川口耕介,开发期间就职于昇阳电脑公司。Hudson是在MIT许可证下发布的自由软件。
当前版本 | 3.2.0(2014年7月14日 | )
---|---|
编程语言 | Java |
操作系统 | 跨平台 |
类型 | 持续集成 |
许可协议 | MIT许可证 |
网站 | hudson-ci |
数据截至 | 2014年1月17日 |
可以通过各种手段触发构建。例如可以通过类似Cron的机制调度,可以在其他的构建已经完成时,以及可以通过一个特定的URL进行请求。
Hudson在2008年左右基本取代了CruiseControl和其他开源的构建服务器(Build Server)。[1][2]在2008年5月的JavaOne大会上,Hudson成为“Duke选择奖”开发人员解决方案分类的得主。[3]
甲骨文公司收购昇阳电脑时,甲骨文公司宣布其有意把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和其他的社区支持者发出了正式的提议,将Hudson(包括核心代码和存在问题的商标)转交给Eclipse基金会。[12]Hudson的创始人川口耕介表示甲骨文公司此举是在考验Jenkins。“当我们与甲骨文公司的谈判找到一个中间地带时,他们说得很清楚,他们不打算放弃对Hudson商标的控制。但这一举动[13]表明他们清楚地认识到甲骨文公司无法使Hudson项目跟上Jenkins项目。” [14]2012年1月24日,Eclipse宣布把Hudson 3列入Eclipse基金会。[15]
参见
参考文献
- ^ Dan Dyer. Why are you still not using Hudson?. [2008-05-21]. (原始内容存档于2012-04-26).
- ^ What is the difference between Hudson and CruiseControl for Java projects?. Stack Overflow. [2011-01-17]. (原始内容存档于2010-09-06).
- ^ 2008 JavaOne Conference: Duke's Choice Awards Winners for 2008. [2008-05-21]. (原始内容存档于2012-04-26).
- ^ Hudson. Eclipse Foundation. [2014-07-26]. (原始内容存档于2014-07-27).
- ^ Commits·jenkinsci/jenkins. GitHub. [2014-07-25]. (原始内容存档于2019-02-16).
- ^ Hudson Core. Eclipse基金会. [2014-07-25]. (原始内容存档于2014-04-21).
- ^ Who's driving this thing?. [2011-01-31]. (原始内容存档于2013-03-12).
- ^ Hudson Trademark Listing on Trademarks411. [2012-02-13]. (原始内容存档于2014-12-06).
- ^ Hudson's future. [2011-01-11]. (原始内容存档于2011-01-12).
- ^ Rename Vote Results. [2011-01-29]. (原始内容存档于2019-10-17).
- ^ The Future of Hudson. [2011-02-02]. (原始内容存档于2011-02-05).
- ^ Eclipse Foundation proposal. [2011-05-03]. (原始内容存档于2011-05-09).
- ^ 指移交Hudson给Eclipse基金会。
- ^ Oracle hands Hudson to Eclipse, but Jenkins fork seems permanent. InfoWorld. 2011-05-04 [2011-08-10]. (原始内容存档于2012-03-07).
- ^ 存档副本. [2013-12-08]. (原始内容存档于2013-12-08).