用于C ++ / Qt应用程序的跨平台持续集成管道

时间:2012-02-13 10:20:46

标签: c++ continuous-integration cmake premake

编辑2012.03.02:更新了构建工具部分以及其他一些要求。添加预制。

编辑2012.03.05:更新了构建工具部分。专注于CMake。添加了Ant + CMakeAnt。

我有很多小的Visual C ++项目,我想开始使用持续集成。该过程涉及许多工具。我开始在这里和那里阅读文章,我很难看到哪个工具可以很好地与其他工具整合。所以我正在寻找一个已经过测试的持续集成工作流程,可以满足我的需求:

当前情境

  • 使用Visual Studio开发的C ++ / Qt应用程序;
  • 不到1 000个源文件;
  • 小开发团队;
  • 小预算;
  • 最好是开源/免费软件;
  • 寻找易于使用和简单的工具。不需要沉重和“强大”的东西。
  • 最后,软件包(准备下载的安装程序)应该适用于Windows和OSX。 Linux(最受欢迎的发行版)是一个加号。

需要的工具

  • 持续集成服务器:

    需要成为詹金斯。我知道,我喜欢它。如果确实需要,我可以换另一个。

  • 源代码管理:

    GIT。

  • 文档生成器:

    Doxygen的。

  • 构建工具:

    我们需要为我们需要支持的所有平台生成解决方案和配置。我强烈建议我使用CMake。 Ant + CMakeAnt(http://code.google.com/p/cmakeant/)似乎也是一个很好的补充。

  • 单元测试框架:

    CPPunit,C ++ Test,Googletest?

  • 安装程序生成器

    CPack(CMake的一部分似乎也很棒)。

  • 设备:

    最好是使用VirtualBox或VMWare的一台机器。这是唯一可能的吗?将Linux用于此类事情会更好吗?或者MAC mini是否足够?

那么,这里有没有人建造类似的东西?准确地使用哪些工具?

感谢您的任何意见和建议。

2 个答案:

答案 0 :(得分:1)

我已经成功使用了Jenkins的CMake / CTest / CPack,有一个CMake构建器插件可用。

我发现ctest --output-on-failure选项很有用,因为测试的输出显示在Jenkins日志失败时。

我使用Boost.Test框架来测试C ++,它适用于ctest,我使用-l all选项运行它以在出现错误时获取所有日志记录输出。

答案 1 :(得分:0)

您应该能够使用一堆脚本来引导整个过程。

将它们写在PerlPython中。有一百万个关于如何引导这些过程的教程。

如果您坚持实施此构建过程的特定方,请询问有关它的特定问题。