詹金斯我目前使用詹金斯/哈德森。我们为主干和每个分支分别开发项目。此外,还有一些与Java代码相关的项目,但现在对于这些项目的设置相当基本(尽管我们可能会做更多的事情)。在C++项目执行以下操作:buildbot VS持续集成的大型大多是C++项目哈德森/ C++的持续集成
- 构建与是否要重新配置,做一个干净的构建,或使用新的结账
- 可选构建选项的一切,运行所有测试
- 可选择使用运行所有测试Valgrind的的MEMCHECK
- 奔跑cppcheck
- 生成Doxygen文档
- 时间表发布报告:单元测试,Valgrind的,cppcheck,编译器警告,SLOC,在打开的任务和代码覆盖(使用gcov的,GCO VR,和的Cobertura插件)
- 部署代码夜间或按需到测试环境和一个包库
一切可配置为自动构建和可选点播构建。在下面,有一个bash脚本来控制这个,这更多的取决于我们的构建系统,它使用automake和autoconf以及自定义的bash脚本。
我们开始使用哈德森(当时),因为这是Java的家伙们使用的是什么,我们只是想每晚构建。从那以后,我们增加了更多,并继续增加更多。在某些方面哈德森是伟大的,但肯定不是理想的。
我看其他的解决方案和看起来像它可能是一个更换buildbot唯一的一个。这种情况会更好吗?自从我们已经使用Hudson以来,投资是否值得?为什么?
编辑:有人问我为什么没有发现哈德森/詹金斯是理想的。简而言之,一切都可以改善。我只是想知道,如果詹金斯是我用例的最佳解决方案,或者是否有更好的东西(buildbot?),那么即使出现新的需求,从长远来看也会更容易维护。
我没有看过Buildbot,但我们几乎做了你提到的关于Hudson上的多个C++项目的所有事情。你从哈德森/詹金斯看到什么样的非理想事物? – 2011-04-13 18:21:09
@Soo Wei Tan:看我的编辑。 – deuberger 2011-04-13 20:52:02
迄今为止,Jenkins/Hudson一直很满意。我们还没有真正遇到任何我们认为不足或缺乏的情况。 – 2011-04-14 00:24:45