我目前正在使用jenkins / hudson进行持续集成,主要是C ++项目。 我们有单独的项目为主干和每个分支。 另外,Java代码还有一些相关的项目,但是现在对于这些项目的设置是相当基本的(尽pipe我们可能会做更多的工作)。 C ++项目执行以下操作: build立一切与select是否重新configuration,做一个干净的build设,或使用一个新的结帐 有select地构build并运行所有testing 可以使用Valgrind的memcheck运行所有testing 运行cppcheck 生成doxygen文档 发布报告:unit testing,valgrind,cppcheck,编译器警告,SLOC,开放任务和代码覆盖(使用gcov,gcovr和cobertura插件) 每晚或按需部署代码到testing环境和软件包存储库 一切都可以configuration为自动构build和可选的按需构build。 在下面,有一个bash脚本来控制这个,这更多的取决于我们的构build系统,它使用automake和autoconf以及自定义的bash脚本。 我们开始使用Hudson(当时),因为这是Java人使用的,我们只是想每晚构build。 从那以后,我们增加了更多,并继续增加更多。 在某些方面哈德森是伟大的,但肯定是不理想的。 我已经看过其他的解决scheme,唯一看起来可以替代的是buildbot。 在这种情况下可以改善吗? 自从我们已经使用Hudson以来,投资是否值得? 为什么? 编辑 :有人问为什么我没有find哈德森/jenkins是理想的。 简而言之,一切都可以改善。 我只是想知道,如果jenkins是我用例的最佳解决scheme,或者是否有更好的东西(buildbot?),那么从长远来看,即使有新的需求出现,也会更容易维护。