buildbot vs hudson / jenkins for C ++持续集成
|
我目前正在使用jenkins / hudson进行持续集成,这主要是一个大型的C ++项目。我们为干线和每个分支都有单独的项目。另外,还有一些与Java代码相关的项目,但是这些项目的设置目前还很基本(不过我们稍后可能会做更多)。 C ++项目执行以下操作:
使用用于重新配置,执行干净构建或使用新签出的选项构建所有内容
(可选)构建并运行所有测试
(可选)使用Valgrind的memcheck运行所有测试
运行cppcheck
生成doxygen文档
发布报告:单元测试,valgrind,cppcheck,编译器警告,SLOC,打开的任务和代码覆盖率(使用gcov,gcovr和cobertura插件)
每晚或按需将代码部署到测试环境和软件包存储库
一切都可配置为自动构建,可选为按需构建。下面有一个bash脚本来控制其中的大部分内容,而这又取决于我们的构建系统,该系统使用automake和autoconf以及自定义bash脚本。
我们当时开始使用Hudson,因为那是Java家伙正在使用的,我们只想每晚进行构建。从那时起,我们增加了很多,并继续增加。从某种意义上说,哈德森很棒,但当然不是理想的。
我已经看过其他解决方案,唯一看起来可以替代的解决方案是buildbot。对于这种情况,buildbot会更好吗?由于我们已经在使用Hudson,因此投资值得吗?为什么?
编辑:有人问为什么我还没有发现哈德森/詹金斯是理想的。简短的答案是,一切都可以改善。我只是想知道Jenkins是否是针对我的用例的最佳最新解决方案,或者是否存在更好的东西(buildbot?),即使出现了新的需求,从长远来看,它也将更易于维护。
没有找到相关结果
已邀请:
5 个回复
寿柬窟年
豆兢
告耸
窝头菊
的即开即用概念。据我所知,它不在用户界面中,也不在任何内置的“步骤”模块中: http://docs.buildbot.net/current/manual/configuration/buildsteps.html ...而且我看不到任何第三方插件: https://github.com/buildbot/buildbot/wiki/PluginList#steps Buildbot确实会收集给定构建中的所有控制台输出,但重要的是,您无法收集与此相关的文件。 *)考虑到不支持工件,创建将多个模块集成到一个安装程序中的“收集器”项目并不容易。 Jenkins具有一项很棒的功能,可让您使用其他模块的构建参数化构建(参数类型为parameter1ѭ)。 *)在Buildbot中建立模块之间的依赖关系比较棘手。假设您有一个依赖于三个二进制文件的库,并且希望每次库更改时都重新构建这些二进制文件。 Jenkins在用户界面中内置了“ 2”字样。如果要在Buildbot中执行触发器,则必须使用
编写脚本,这会在
UI中导致很多项目拥塞。 *)在Buildbot中工作时,似乎几乎所有的配置都在代码中以5来完成。这真是令人沮丧。 *)Buildbot强迫您在创建
服务器的同时创建一个
。对于单个构建服务器就足够的初学者和系统而言,这很烦人。 经过Buildbot评估两天后,我的印象是我们会继续使用Jenkins,主要是因为它具有
。 Buildbot是一种工具,只有在我们有更广泛的自定义需求以及执行时间时,我们才会使用它。
念炯