使Jenkins Pipeline执行结果显示在gitlab中

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


如果你在每次merge时希望执行pipeline,且Pipeline执行结果和merge结果都显示在gitlab里,如下图:

假设你已经装好了Jenkins和gitlab。

安装Jenkins插件

需要安装的插件:

  • git

  • pipeline

安装步骤:

  • 点击左侧菜单栏的“Manage Jenkins”(管理Jenkins)。

  • 选择“Manage Plugins”(管理插件)。

  • 在“Available”(可选)标签下搜索上述插件,并进行安装

在GitLab中配置Webhooks

  1. 进入GitLab项目设置:

打开你想要集成的GitLab项目,点击左侧菜单的“Settings”(设置) -> “Webhooks”(Webhook)。

  1. 添加新的Webhook:

  • URL:填写你的Jenkins服务器的Webhook URL,通常格式为 http://<JENKINS_URL>/project/<JOB_NAME>。

  • Secret Token:可选,用于安全验证,需在Jenkins中对应配置。

  • 触发事件:选择“Push events”(Push事件)和其他需要触发Pipeline的事件(如Merge Request events)。

完成后点击“Add Webhook”添加。

在Jenkins中创建和配置Pipeline作业

  1. 创建新的Pipeline项目:

  • 点击Jenkins主页的“New Item”(新建任务)。

  • 输入项目名称,选择“Pipeline”,然后点击“OK”。

  1. 配置源码管理:

  • 在项目配置页面,找到“Pipeline”部分。

  • 选择“Pipeline script from SCM”(从源码管理中获取Pipeline脚本)。

  • SCM选择“Git”。

  • 填写你的GitLab仓库URL和凭证(如果仓库是私有的,需提供认证信息)。

  1. 指定Pipeline脚本位置:

通常,Pipeline脚本(Jenkinsfile)放在仓库根目录。

在“Script Path”(脚本路径)中填写 Jenkinsfile。如果要把Pipeline脚本写在Jenkins pipeline编辑器而非Jenkinsfile里,可以忽略这步。

  1. 配置GitLab触发器:

  • 在“Build Triggers”(构建触发器)部分,选择“Build when a change is pushed to GitLab”(当有变更推送到GitLab时构建)。这里可根据自己的需要进行选择

  • 如果使用Secret Token,在Jenkins的“Configure”页面中相应位置填写与GitLab Webhook中一致的Token。

编写你的pipeline脚本

比如我的脚本如下:

pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
                git url: 'https://gitlab.com/your-repo.git', branch: 'main'
            }
        }
        stage('Build') {
            steps {
                // 你的构建步骤,如Maven构建
                sh 'mvn clean install'
            }
        }
        stage('Test') {
            steps {
                // 运行测试
                sh 'mvn test'
            }
        }
        stage('Deploy') {
            steps {
                // 部署步骤
                sh 'deploy.sh'
            }
        }
    }
    post {
        success {
            updateGitlabCommitStatus name: 'build', state: 'success'
        }
        failure {
            updateGitlabCommitStatus name: 'build', state: 'failed'
        }
    }
}

在GitLab中配置Jenkins CI/CD集成

  1. 生成Jenkins API Token:

  • 在Jenkins中,进入你的用户配置页面(点击右上角用户名 -> “Configure”)。

  • 在“API Token”部分,生成一个新的Token,用于GitLab与Jenkins的认证。

  1. 这步可省略,因为已经添加了webhook】在GitLab中添加Jenkins的访问凭证:

  • 进入GitLab项目的“Settings”(设置) -> “CI/CD” -> “Variables”(变量)。

  • 添加如下变量:

    • JENKINS_URL:你的Jenkins服务器地址。

    • JENKINS_USER:Jenkins用户名。

    • JENKINS_API_TOKEN:之前生成的Jenkins API Token。

这些变量可以在Jenkinsfile中引用,用于与Jenkins交互。

触发Pipeline并查看执行记录

  1. 提交变更触发Pipeline:

推送代码到GitLab仓库,符合Webhook触发条件,Jenkins会自动接收并开始执行Pipeline。

  1. 查看Jenkins中的构建日志:

在Jenkins项目页面,可以看到Pipeline的执行情况和详细日志。

  1. 在GitLab中查看Pipeline状态:

回到GitLab项目,进入“CI/CD” -> “Pipelines”,可以看到对应的Pipeline状态(成功或失败),以及关联的Jenkins构建信息。

通过以上步骤,就可以在Jenkins中执行Pipeline,并将执行记录同步显示在GitLab的Pipelines记录中了。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
在这里插入图片描述
在这里插入图片描述

### JenkinsGitLab集成实现CI/CD管道教程 #### 创建Jenkins Pipeline项目 为了设置JenkinsGitLab之间的CI/CD流程,首先需要在Jenkins中创建一个新的Pipeline项目。这可以通过访问Jenkins主页并点击左侧菜单中的“新建任务”,随后选择“Pipeline”来完成[^2]。 ```groovy // Jenkinsfile 示例配置用于定义pipeline行为 pipeline { agent any stages { stage('Checkout') { steps { git branch: 'main', url: 'https://gitlab.com/user/repo.git' } } stage('Build') { steps { sh './gradlew build' } } stage('Test') { steps { sh './gradlew test' } } stage('Deploy') { when { expression { return env.BRANCH_NAME == 'main' } } steps { echo "部署到生产环境" } } } } ``` 此脚本展示了基本的多阶段构建过程,包括检出代码、编译、运行测试以及有条件地执行部署操作[^3]。 #### 配置Webhook触发器 为了让每次向GitLab仓库推送更改时都能自动启动Jenkins流水线,在GitLab项目的设置页面内添加一个指向Jenkins服务器上特定端点的webhook URL。通常形式如下: `http(s)://<jenkins-server>/project/<job-name>` 确保勾选了“Push events”的选项以便于当有新的commit推送到远程分支时能够触发展开相应的动作[^4]。 #### 安全认证机制 考虑到安全性方面的要求,建议利用OAuth应用程序或者个人访问令牌(Personal Access Token, PATs),从而允许两个平台之间安全通信而无需暴露敏感凭证信息给第三方服务提供商知晓[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值