为基于C++/Qt的项目构建服务器/持续集成建议

Dav*_*eer 27 c++ build-automation continuous-integration qt

我正在寻找为基于Qt的C++项目实现构建服务器.服务器需要从Subversion检出必要的代码/资产,构建可执行文件,组装安装项目的工件,以及构建安装媒体文件.目标平台和(粗略)工具链是:

  • Windows(32位和64位): qmake,nmake,msbuild,wix工具链.最终结果是安装程序EXE和DVD映像.
  • Mac OS X: qmake,make,自定义bash脚本来组装包.最终结果是磁盘映像和DVD映像中的应用程序包.
  • Ubuntu(32位和64位): qmake,make,debuild-based脚本.最终结果是DEB文件和DVD图像的集合.
  • Fedora(32位和64位): qmake,make,基于rpmbuild的脚本.最终结果是RPM文件和DVD映像的集合.

因此,至少有4个构建代理(如果32位和64位不能在同一个盒子上完成,可能更多)和7个配置.开源项目是首选,但这不是绝对的要求.

我看到的大多数工具似乎都适用于Java(Jenkins,CruiseControl等)或.Net(CruiseControl.net等).这些工具可以与C++工具链一起使用,还是我会不断地与系统作斗争?您过去使用过的任何东西都可以与Qt/C++一起使用吗?

Sil*_*ker 13

我使用Jenkins构建和打包许多基于qmake,cmake和makefile的C++项目.

有cmake,qmake和msbuild的插件,但也可以运行任何命令行脚本.

我使用Jenkins进行打包没有问题,因为它只是项目中的另一个命令行步骤.

有很好的插件可以监视编译器产生的警告/错误的数量(我通常使用GCC).

它还具有矩阵构建,允许您使用编译器标志,预处理器变量,平台等的不同组合多次构建项目.我设置的一个项目是在两个平台上具有5个布尔预处理器标志的矩阵构建,然后2 ^ 6 = 64个构建.这些可能需要一些设置才能正确.