C ++的本地持续集成系统?

时间:2012-12-23 06:03:27

标签: c++ continuous-integration

“本地持续集成系统”可能不是正确的术语,但我希望找到的是一个可以配置为监视本地文件更改的持续集成系统(特别是C ++文件)和1)尝试编译受影响的目标文件(在第一次失败时停止),如果成功且没有新的源文件更改2)链接受影响的二进制文件,如果成功且没有新的源文件更改3)运行受影响的测试。

通过监视器对本地文件的更改,我不是指监视器提交到修订控制系统,而是保存本地文件的状态。理想情况下,系统将提供与源编辑器的集成,以便它可以监视编辑器中尚未保存到磁盘的更改。

理想情况下,它还会提供当前和最近状态的图形指示(最好在Windows 7上),以便在需要时快速进入故障状态。

我发现最接近的是nose,如here所述,但仅涵盖运行Python测试而不构建C ++文件。

3 个答案:

答案 0 :(得分:2)

最接近你要找的是cdashBoost test bench;我认为像C ++这样的工具永远不会存在,因为在编辑单个文件后编译每个项目只会浪费时间在高效的C ++工作流程中。

答案 1 :(得分:2)

持续整合今天是一个崛起的概念,所以你并不孤单。

假设您正在使用Windows进行开发,如果您正在使用Microsoft Visual Studio
你可以考虑微软的 Visual Studio Team Foundation Server (TFS)
(以前 Visual Studio Team System ) 这将在一个软件包中为您提供源代码控制构建自动化, 当然,与微软产品的完美整合 (我认为MSDN用户有免费版本。)

如果不热衷于微软产品,或只是寻找构建自动化, 我会推荐一个很棒的开源继续集成工具:
Jenkins CI

祝你好运!

答案 2 :(得分:2)

我会看看Jenkins CI - 它是一个很好的工具,可以在任何平台上运行,并且可以配置为几乎可以做任何事情。我用它来运行与移动电话交谈的Python代码,拨打电话并记录这些电话(并测试了电话的“质量”,虽然我的项目从未获得过£xxxx真品质软件,因为我们只是展示了一个概念)然后詹金斯会制作出“效果如何”的图表。

你也可以做你所描述的“链接” - 所以它会发现你的源已经改变,尝试构建它[通常这是使用make完成的,所以它会自动停在第一个错误的文件中(尽管它在一个文件中可能有数百个错误!)]。编译并构建成功然后链接到运行测试。不完全确定你如何确定什么是“相关的”。如果您的测试周期不是很大,我会全部运行它们!