Hudson (软件)

Hudson是用Java编写的一个持续集成（CI）工具。它运行在Servlet容器中（例如Apache Tomcat、GlassFish）。它支持软件配置管理（SCM）工具（包括CVS、Subversion、Git、、和），可以执行基于Apache Ant和Apache Maven的项目，以及任意的shell脚本和Windows批处理命令。Hudson的主要开发者是川口耕介，开发期间就职于昇陽電腦公司。Hudson是在MIT许可证下发布的自由软件。 

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

Hudson在2008年左右基本取代了和其他开源的构建服务器（Build Server）。在2008年5月的JavaOne大会上，Hudson成为“Duke选择奖”开发人员解决方案分类的得主。

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

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

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

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

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

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

 参见 

持续集成软件

 参考文献 

 外部链接 
 Hudson主页
 介绍Hudson的演示文稿
 Hudson的自由版权图书
 Hudson的PDF格式文档
 Hudson和持续集成（CI）相关的文章
 创始人川口耕介的文章《七招优化Jenkins/Hudson》

Category:編譯工具
Category:持续集成
Category:用Java編程的自由軟體
Category:Java開發工具