Jenkins Qt项目 自动化构建初步使用

最近发现了一个CI/CD 自动化构建的工具  Jenkins,可以提交了git 之后自动编译创建,功能非常强大。我是用自己的主机做的一个服务器编译,不是用的类似 gitee go  或者  github action 之类的。后续在探讨这两个工具的使用

1.下载Jenkins  安装 ,一直下一步即可,中途可能会要求安装java 的jdk ,没有的话直接去官网下载,安装的时候  记住账号密码,等下登录的时候要使用的

2.登录Jenkins的网页,http://localhost:8080/  输入账号密码登录进去,第一次使用 下载一下推荐的插件,另外  qt  项目还需要下载cmake 以及 gitee 插件 (我用的是gitee 别的需要自行去下载相应的插件)

3.选择新建 Item  输入任务名称,选择  Pipeline 类型

image

 4.在流水线下面填写该脚本  ,根据自己需求  去修改

 

pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
                echo '正在从 Gitee 拉取代码...'
                git url: 'https://gitee.com/lin-feng-da/gitee-go-test.git',
                    branch: 'master',
                    credentialsId: 'gitee-access-token'
            }
        }

        stage('Configure & Build') {
            steps {
                // 清理并创建 build 目录
                bat 'rmdir /S /Q build 2>nul || ver > nul'
                bat 'mkdir build'

                dir('build') {
                    // 关键修改:加 -S .. 指定源码目录
                    cmake arguments: '-G "Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH="D:\\DevelopSoftware\\Qt\\6.8.3\\msvc2022_64" -DCMAKE_BUILD_TYPE=Release -S ..',
                          installation: 'InSearchPath'

                    // 编译(这里 . 代表当前 build 目录,正常)
                    cmake arguments: '--build . --config Release --verbose',
                          installation: 'InSearchPath'
                }
            }
        }

        stage('Deploy') {
            steps {
                dir('build') {
                    bat '''
                        set PATH=%PATH%;D:\\DevelopSoftware\\Qt\\6.8.3\\msvc2022_64\\bin
                        windeployqt --release --qmldir .. Release\\appqmlTest.exe
                        echo Deploy completed. Check Release folder for runnable package.
                    '''
                }
            }
        }
    }

    post {
        always {
            archiveArtifacts artifacts: 'build/Release/**', allowEmptyArchive: true
        }
    }
}

5.点击保存,生成刚才填写代码中的   credentialsId  ,Jenkins 需要知道gitee的 token 才允许访问  

 

 

image

 点击进去, 再点击  Add Credentials  填写gitee的账号,另外,还需要登录gitee 点击我的头像  设置,左边栏的私人令牌  生成一个新令牌  ,这个新令牌就是下面填写的这个密码,注意不要填成自己的账号的密码

image

点击保存之后,就可以点击  Build Now 看看有没有成功构建了 不行的话看下output 信息  我的输出到下面的这个地址了

C:\Users\admin\AppData\Local\Jenkins\.jenkins\workspace\QtTest\build\Release

测试成功生成后,就点击到Jenkins刚才项目的配置  找到Triggers 勾选gitee webhook 触发构建  在 Gitee WebHook 密码这里点击一下 生成 他会生成一个 密码

下一步  返回gitee 仓库页面 选择管理 WebHooks   点击新建 WebHook,注意 上面的URL 地址 需要公网的服务器的,给内网的 gitee 是推送不到数据的,需要下载一个  cpolar 去进行一个提供公网域名访问,免费的,下载注册登录之后 复制这个地址

image

 

 假设 Jenkins 提供的是  http://localhost:8080/gitee-project/QtTest  则填到gitee 的url 是  http:/xxxxx/gitee-project/QtTest  这样  密码就复制刚才  Jenkins 生成的密码 点击保存 然后推送一下测试,就会自动编译了

 

 
posted @ 2025-12-20 11:38  绝世菜鸟  阅读(0)  评论(0)    收藏  举报