4

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

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

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

我发现的最接近的东西是此处描述的鼻子,但这仅涵盖运行 Python 测试而不是构建 C++ 文件。

4

3 回答 3

2

继续集成是当今一个新兴的概念,因此您并不孤单。

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

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

祝你好运!

于 2012-12-23T08:43:28.770 回答
2

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

于 2012-12-23T06:25:20.223 回答
2

我会看一下 Jenkins CI——它是一个很好的工具,可以在任何平台上运行,并且可以配置为做几乎任何事情。我用它来运行与手机通话、拨打电话并记录这些电话的 Python 代码(并测试了通话的“质量”,尽管我的项目从未获得过真正质量的软件,因为我们只是展示了一个概念),然后 Jenkins 会生成“效果如何”的图表。

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

于 2012-12-23T12:15:02.873 回答