返回
WSL 下使用 Jenkins 自动构建 Qt 程序并打包为 EXE 文件
后端
2023-09-15 03:54:03
前言
在前面的文章中,我们已经介绍了如何在 WSL 下使用 Jenkins 自动编译和打包 Go 和 Java 程序。本篇将继续探讨如何将这一自动化流程应用于 Qt 程序。通过使用 WSL 和 Jenkins,我们可以有效地跨平台构建和打包 Qt 项目,提高开发效率并节省大量时间。
WSL 安装和配置
首先,需要确保在系统中已安装并配置好 WSL。具体的安装和配置步骤可以参考微软官方文档。
安装 Jenkins
WSL 安装完成后,就可以安装 Jenkins 了。可以使用以下命令通过 apt 包管理器安装 Jenkins:
sudo apt update && sudo apt install jenkins
安装完成后,启动 Jenkins:
sudo systemctl start jenkins
创建 Jenkins 项目
打开 Jenkins 网页界面,创建一个新的项目。在项目配置中,选择“构建触发器”为“GitLab CI/CD”,然后配置相应的 GitLab CI/CD 设置。
配置 Jenkinsfile
在项目工作区根目录创建一个名为 Jenkinsfile 的文件,内容如下:
node {
stage('Checkout Code') {
git 'https://gitlab.example.com/user/project.git'
}
stage('Build Qt Project') {
bat 'qmake && make'
}
stage('Package Qt Application') {
bat 'windeployqt --release ProjectName.exe'
}
stage('Deploy EXE File') {
archiveArtifacts 'ProjectName.exe'
}
}
参数化构建
为了支持不同平台和配置的构建,可以在 Jenkinsfile 中使用参数化构建。例如,可以添加以下代码来指定 Qt 版本和编译目标:
def qtVersion = '5.15.2'
def target = 'windows'
node {
stage('Checkout Code') {
git 'https://gitlab.example.com/user/project.git'
}
stage('Build Qt Project') {
bat 'qmake -qt=$qtVersion && make -j$(nproc) $target'
}
stage('Package Qt Application') {
bat 'windeployqt --release ProjectName.exe'
}
stage('Deploy EXE File') {
archiveArtifacts 'ProjectName.exe'
}
}
构建和部署
现在可以手动或通过 GitLab CI/CD 触发构建。构建完成后,打包好的 EXE 文件将被保存在 Jenkins 工作区的 artifacts 文件夹中。
总结
通过在 WSL 中使用 Jenkins,我们可以轻松实现 Qt 程序的自动构建和打包,简化开发流程,提高效率。本文提供了详细的步骤和配置示例,希望对读者有所帮助。