持续集成(CI)是将多个团队成员贡献的代码频繁持续的构建并给与反馈,而不必将寻找和修复缺陷的过程放在开发后期。在典型的持续集成周期中,代码首先被周期性的从版本控制服务器(如CVS或Subversion)中更新下来,随后调用自动化编译脚本(如Ant或Maven)编译,并运行所有测试用例,给出结果分析的报告。
java.net上的开源工具Hudson便是一款优秀的持续集成工具,目前的发展速度很快,并且在吸收了众多CI服务器的优点和长处。在自动构建工具支持方面,Hudson可以同Maven紧密集成,并基于Maven依赖图确定需要重新编译的项目。
作为CI服务器,在Hudson项目的官方站点下载War格式的安装包后,可以方便的部署在GlassFish或Tomcat容器之上。在Hudson中,配置一个新的项目也十分快速直观,在新建Hudson工程时填写名称和描述信息、设定检查代码储存库的时间间隔、指定本地代码编译路径、指定储存库的访问路径和授权用户、填写工程和分支名称以及构建完成后的动作等,就完成了整个CI工程的配置工作。
在结果展示方面,用户可以在编译日志中查看Hudson通过不同颜色标记列出的信息。Hudson还提供了易用的报表功能,并拥有强大的插件支持,如具有能显示测试结果趋势等信息的插件,以及随时间轴跟踪Bugs并监控代码覆盖的插件。在通知机制方面,Hudson可以方便的与用户建立联系,Hudson提供了电子邮件通知选项,还支持以RSS方式输出报错通知。
目前,包括NetBeans项目本身以及Ruby IDE在内的众多项目都在使用Hudson实现持续集成,更多Hudson的相关内容,可以在Hudson的Wiki中查看并了解详细的使用方式。