在我的工作中,我们使用Hudson,这里有一些我喜欢的观点:
- 很多有用的插件,如集成的Checkstyle,FindBugs,Cobertura等等 - 哎呀,我们甚至把Continuous Integration Game放到我们的Hudson上!
- 运行Ant脚本,对我们来说,这意味着我们可以使用我们用来构建整个应用程序的自定义Ant脚本,使Hudson首先检查CVS的变化,如果有任何存在然后构建实际的应用程序,然后运行项目的单元测试如果这些阶段中的任何一个失败,Hudson会将构建标记为失败,并向每个人和他们的母亲发送几封电子邮件,告知这个将这些特定更改提交给CVS的人是多么邪恶,因为他打破了构建:)
然后我不喜欢一些事情:
- 无法批量管理构建结果。我们最近不得不从构建历史中手动删除大约300个构建,因为它没有工具。这是每次构建的4次点击所以花了一点时间。
- Web UI由于某种原因变得相当快,而且一些插件占用了大量内存。
哈德森是我最喜欢的,虽然我承认我只使用它和巡航控制。
哈德森职业选手:
- GUI配置非常简单,配置页面本身也提供了帮助代码段。
- 许多Plugins,其中许多适合Java开发。另外,你可以自己编写。
- 该项目发布了新版本often,因此经常发布错误修复和改进。
哈德森缺点:
- 目前不能处理在同一项目中的不同计划上运行不同构建任务的能力。这真是我对应用程序的唯一悲痛。能够在SCM轮询触发器上运行
ant foo
并且在同一个项目中每晚运行ant bar
会很高兴。