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

标签 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(最流行的发行版)优先。

需要的工具

  • 持续集成服务器:

    需要是 Jenkins 。我知道它,我喜欢它。如果真的需要,我可以换一个。

  • 源代码管理:

    GIT。

  • 文档生成器:

    氧气。

  • 构建工具:

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

  • 单元测试框架:

    CPPunit、C++Test、Googletest?

  • 安装程序生成器

    CPack(CMake 的一部分看起来也很棒)。

  • 硬件:

    最好是一台装有 VirtualBox 或 VMWare 的机器。只有这样吗?用 Linux 做这样的事情会更好吗?或者 MAC mini 就足够了吗?

那么,这里有没有人已经构建了类似的东西?具体使用哪些工具?

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

最佳答案

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

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

我使用 Boost.Test用于测试 C++ 的框架,它与 ctest 一起工作正常,我使用 -l all 选项运行它以在出现问题时获取所有日志输出。

关于c++ - C++/Qt 应用程序的跨平台持续集成管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9258818/

相关文章:

c++ - Qt 5 cmake 失败,未定义对 hello world 上的 vtable 的引用,其中 inc 和 src 作为子目录

c++ - 'make' 的输出是共享对象,而不是可执行文件

plugins - jenkins 插件显示当天的构建摘要

continuous-integration - 在云 CI 服务上使用 Vagrant

64-bit - 使用 cmake-gui 使用 makefile 构建 64 位应用程序

c++ - 在天穹上使用点光源的奇怪照明效果

c++ - Linux套接字recv返回-1,errno 110连接超时

c++ - 在 C++ 中将多个函数传递给 vector 中的另一个函数

java - 从其他语言(如 Java、PHP、Perl、Python 等)调用 C/C++ 代码的最佳方式是什么?

docker - 如何在Jenkinsfile中创建函数?