.NET,Java和其他语言的持续集成工具链定义相对较好,但C ++市场似乎有很多不同之处。
通过CI“工具链”我特别指的是构建脚本,自动化测试,编码标准检查等工具。
C ++团队用于CI工具链的是什么?
答案 0 :(得分:7)
另一个选项可能是buildbot。
它是用python编写的,但不仅适用于python应用程序。它可以执行任何脚本来进行构建。如果你看看他们的成功故事,似乎有各种各样的语言。
答案 1 :(得分:7)
我们使用Parabuild实现了我们的C ++跨平台连续集成基础架构
http://www.viewtier.com/products/parabuild/screenshots.htm
我们能够将各种Win / Mac / Linux QA工具与它集成,并且它非常易于安装和维护:在每个平台上都可以单击安装,并且Web界面非常方便。
在评估几个连续集成服务器时,主要问题是它们是Java偏向的:另一方面,Parabuild非常适合C ++跨平台开发和QA工作流程
答案 2 :(得分:2)
Visual Build Professional是我最喜欢的工具,可以将所有其他工具整合在一起。当然只有Windows,但它集成了各种Visual Studio和一系列测试工具,源代码控制工具,问题跟踪器等。但它只是 窗口。我知道这不是整个堆栈,但它是一个开始。
答案 3 :(得分:1)
天儿真好,
我们实际上在以前签约的网站上遇到过这个问题。
一个人坐下来写了工具,主要是shell脚本,
我们找不到任何商业可用的东西,所以Charlie坐下来用bash shell脚本编写它,它在HP-UX上运行。
欢呼声, 罗布
答案 4 :(得分:0)
与C ++中看似所有其他任务一样,我只是勉强一瘸一拐地继续整合。我的设置从Eclipse开始。我将其设置为为我的项目生成make文件。我有ant脚本通过在相应的makefile上运行'make all'或'make clean'来完成整个构建任务。这些ant脚本是我项目的一部分,当我向系统添加新的构建配置或新块时,我必须更新它们。但这并不是那么糟糕。
我使用CruiseControl来实际运行构建。每个项目(所有这些项目)都有一个自己的ant脚本,它执行构建特定任务(复制工件,处理结果),调用项目ant脚本来进行构建。
我不得不使用cppunit进行测试,并使用我在某处找到的xslt文件处理结果。我在每个构建中也有错误的svn修订标签,因为我找不到合适的svn标签。我所能找到的只是半年完成的代码,人们争辩说其他人做错了。
在我看来,CC是一个垂死的系统,但我没有找到更好的C ++。然后,我也觉得C ++是一种垂死的语言,所以也许它比这更大。
答案 5 :(得分:0)
我们使用scons进行中央构建服务器的持续集成。有些项目已迁移到buildbot。
我现在进入rake并考虑this blog中调查的解决方案。 Fowler提到ThoughtWorks偶尔会在他的Continuous Integration文章中使用rake来构建脚本。