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

时间:2020-03-05 18:42:47  来源:igfitidea点击:

.NET,Java和其他语言的持续集成工具链定义得比较好,但是C ++市场似乎有很多多样性。

通过CI"工具链",我专门指用于构建脚本,自动测试,编码标准检查等的工具。

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

解决方案

回答

Visual Build Professional是我最喜欢的用于将所有其他工具组合在一起的工具。当然,仅Windows,但是它与Visual Studio的所有版本以及许多测试工具,源代码控制工具,问题跟踪器等集成在一起。不过,它仅是Windows。我知道这不是整个堆栈,但这是一个开始。

回答

G'day,

实际上,我们在我之前签约的站点上遇到了这个问题。

一个家伙坐下来写了一些工具,主要是shell脚本,来

  • 每小时大约检查一次当前的代码库,并进行构建以检查其是否损坏,以及
  • 查看最新的良好构建并进行完整构建,并运行约8,000个回归测试。

我们只是找不到任何可用于此目的的商业产品,因此Charlie坐下来用bash shell脚本编写了此文件,并且该文件正在HP-UX上运行。

干杯,

回答

与C ++中的其他所有任务一样,我只是在不断集成而已。我的设置从Eclipse开始。我将其设置为为我的项目生成make文件。我有ant脚本,它们通过在适当的makefile上运行" make all"或者" make clean"来执行总体构建任务。这些ant脚本是我的项目的一部分,当我向系统中添加新的构建配置或者新的片段时,我必须对其进行更新。不过还算不错。

我使用CruiseControl实际运行构建。每个项目(所有项目)都有自己的ant脚本,它们执行构建特定的任务(复制工件,处理结果),并调用项目ant脚本进行构建。

我必须使用cppunit进行测试,并使用在某处找到的xslt文件处理结果。由于找不到合适的svn标签,因此每个版本上的svn版本标签也错误。我所能找到的只是半完成的古老代码,还有人争论其他人做错了。

在我看来,CC是一个垂死的系统,但是我还没有发现C ++的任何更好的东西。再说一次,我也觉得C ++是一种垂死的语言,所以也许它比这还大。

回答

另一个选择可能是buildbot。

它是用python编写的,但不仅限于python应用程序。它可以执行任何脚本来进行构建。如果我们看看他们的成功案例,那么似乎会出现各种各样的语言。

回答

我们使用scons进行由中央构建服务器运行的持续集成。一些项目迁移到buildbot。

我现在正在认真研究并考虑本博客中调查的解决方案。 Fowler在他的持续集成文章中提到ThoughtWorks偶尔会使用rake作为其构建脚本。

回答

我们使用Parabuild实现了C ++跨平台持续集成基础架构

http://www.viewtier.com/products/parabuild/screenshots.htm

我们能够将各种Win / Mac / Linux QA工具与之集成在一起,并且非常容易安装和维护:在每个平台上都是一键式安装,并且网络界面非常方便。

在评估多个连续集成服务器时,主要问题是它们受Java偏爱:另一方面,Parabuild非常适合C ++跨平台开发和QA工作流程。