使用C ++进行持续集成有哪些工具链?

时间:2008-08-25 11:56:18

标签: c++ build-process continuous-integration

.NET,Java和其他语言的持续集成工具链定义相对较好,但C ++市场似乎有很多不同之处。

通过CI“工具链”我特别指的是构建脚本,自动化测试,编码标准检查等工具。

C ++团队用于CI工具链的是什么?

6 个答案:

答案 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脚本,

  1. 每小时左右检查一下当前的代码库,然后进行构建以检查它是否已损坏,
  2. 查看最新的良好构建并完成构建并运行大约8,000个回归测试。
  3. 我们找不到任何商业可用的东西,所以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来构建脚本。

相关问题