【Qt】Jenkins配置编译vs2022+Qt(Freestyle project)

Jenkins中配置一个Freestyle项目来编译使用Qt和Visual Studio 2022的应用程序。


1. 环境准备

确保Jenkins服务器已安装:

  • Visual Studio 2022(勾选“C++桌面开发”工作负载)
  • Qt for Windows(如Qt 5.15.2 MSVC2019 64-bit)
  • Git(用于拉取代码)
  • Jenkins插件
    • Git Plugin(源码管理)
    • Environment Injector Plugin(可选,用于环境变量管理)

2. 配置全局工具

  1. Qt安装路径设置(可选):
    • 进入 Jenkins → Manage Jenkins → Tools
    • Qt 部分添加Qt安装路径(如 C:\Qt\5.15.2\msvc2019_64)。

3. 创建Freestyle项目

  1. 新建项目
    • Jenkins首页 → New Item → 输入名称 → 选择 Freestyle project

4. 源码管理

  1. Git配置
    • Repository URL:填写Git仓库地址(如 https://github.com/yourproject.git)。
    • Credentials:添加访问仓库的凭据(用户名/密码或SSH密钥)。

5. 构建环境设置

  1. 注入环境变量(推荐):
    • 勾选 Inject environment variables
    • 在配置文件中添加:
      PATH+=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\bin\Hostx64\x64
      QTDIR=C:\Qt\5.15.2\msvc2019_64
      PATH+=%QTDIR%\bin
      

6. 构建步骤

添加 Execute Windows batch command 构建步骤:

:: 设置VS2022环境
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64

:: 生成项目(qmake示例)
cd %WORKSPACE%\project_dir
qmake -spec win32-msvc project.pro
:: 或使用CMake
cmake -B build -G "Visual Studio 17 2022" -A x64

:: 编译pro方式
set JOM=D:\Qt\Qt5.15.2\Tools\QtCreator\bin\jom\jom.exe
%JOM% -j4
:: 或编译sln方式
msbuild project.sln /p:Configuration=Release /p:Platform=x64
:: 或CMake构建
cmake --build build --config Release

7. 参数化构建(可选)

  • General 中勾选 This project is parameterized
  • 添加 Choice Parameter
    • Name: BUILD_CONFIG
    • Choices: Debug, Release
  • 在构建命令中使用参数:
    msbuild project.sln /p:Configuration=%BUILD_CONFIG% /p:Platform=x64
    

8. 构建后操作

  1. 归档产物
    • 添加 Archive the artifacts 步骤。
    • 填写生成的可执行文件路径(如 **/Release/*.exe)。

9. 保存并测试

  • 点击 SaveBuild Now 测试配置。
  • 检查 Console Output 查看日志。

常见问题解决

  1. MSBuild找不到

    • 确保 vcvarsall.bat 路径正确(Community版路径参考上方)。
    • 在构建脚本中打印环境变量:set PATH
  2. Qt未找到

    • 检查 QTDIR 路径是否正确。
    • 手动添加Qt的bin目录到PATH:PATH+=C:\Qt\5.15.2\msvc2019_64\bin
  3. 权限问题

    • 以管理员身份运行Jenkins服务(Windows服务中设置)。

示例项目结构

WORKSPACE
│   project.pro
│   CMakeLists.txt
└───src
    └───main.cpp

通过以上步骤,Jenkins将自动拉取代码、配置VS2022+Qt环境并完成编译。

你可能感兴趣的:(Qt进阶,开发语言,qt)