【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. 配置全局工具
- Qt安装路径设置(可选):
- 进入 Jenkins → Manage Jenkins → Tools。
- 在 Qt 部分添加Qt安装路径(如
C:\Qt\5.15.2\msvc2019_64)。
3. 创建Freestyle项目
- 新建项目:
- Jenkins首页 → New Item → 输入名称 → 选择 Freestyle project。
4. 源码管理
- Git配置:
- Repository URL:填写Git仓库地址(如
https://github.com/yourproject.git)。 - Credentials:添加访问仓库的凭据(用户名/密码或SSH密钥)。
- Repository URL:填写Git仓库地址(如
5. 构建环境设置
- 注入环境变量(推荐):
- 勾选 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
- Name:
- 在构建命令中使用参数:
msbuild project.sln /p:Configuration=%BUILD_CONFIG% /p:Platform=x64
8. 构建后操作
- 归档产物:
- 添加 Archive the artifacts 步骤。
- 填写生成的可执行文件路径(如
**/Release/*.exe)。
9. 保存并测试
- 点击 Save → Build Now 测试配置。
- 检查 Console Output 查看日志。
常见问题解决
-
MSBuild找不到:
- 确保
vcvarsall.bat路径正确(Community版路径参考上方)。 - 在构建脚本中打印环境变量:
set PATH。
- 确保
-
Qt未找到:
- 检查
QTDIR路径是否正确。 - 手动添加Qt的bin目录到PATH:
PATH+=C:\Qt\5.15.2\msvc2019_64\bin。
- 检查
-
权限问题:
- 以管理员身份运行Jenkins服务(Windows服务中设置)。
示例项目结构
WORKSPACE
│ project.pro
│ CMakeLists.txt
└───src
└───main.cpp
通过以上步骤,Jenkins将自动拉取代码、配置VS2022+Qt环境并完成编译。
更多推荐

所有评论(0)