面向C++/Qt应用程序的跨平台连续集成管道



EDIT 2012.03.02:更新了构建工具部分,其中包含一些其他要求。添加预制

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

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

当前上下文

  • 用Visual Studio开发的C++/Qt应用程序
  • 少于1000个源文件
  • 小型开发团队
  • 预算小
  • 最好是开源/免费软件
  • 寻找易于使用和简单的工具。不需要沉重和"强大"的东西
  • 最后,软件包(可供下载的安装程序)应该适用于windows和OSX。Linux(最流行的发行版)是一个优势

所需工具

  • 持续集成服务器:

    需要成为詹金斯。我知道,我喜欢。如果真的需要,我可以换一个。

  • 源代码管理:

    GIT。

  • 文档生成器:

    Doxygen。

  • 构建工具:

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

  • 单元测试框架:

    CPPunit,C++测试,谷歌测试?

  • 安装程序生成器

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

  • 硬件:

    最好是一台带有VirtualBox或VMWare的单机。只有可能吗?使用Linux做这样的事情会更好吗?或者一个MAC mini就足够了吗?

那么,这里有人已经建造了类似的东西吗?究竟用了哪些工具?

感谢您的意见和建议。

我已经成功地将CMake/CTest/CPack与Jenkins一起使用,有一个CMake构建器插件可用。

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

我使用Boost.Test框架来测试C++,它与ctest配合得很好,我使用-l all选项运行它,以在出现问题时获得所有日志输出。

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

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

如果你一直在实现这个构建过程中的特定一方,请问一个关于它的特定问题。

最新更新