研发merge请求合并代码触发检测(gitlab + jenkins)

背景:为了能够提升代码质量,减少测试同学的工作,打算在开发请求合并分支的时候进行代码检测,如果检测不通过,审核人无法点击merge合并代码

环境准备:
jenkins : 2.346.3
gitlab : 15.1.0

项目分支准备: dev 、main (研发开发好代码上传到dev, 然后申请合并到main)

1、配置jenkins
(1) 安装gitlab插件
(2) 创建流水线,配置触发器
在这里插入图片描述
(3)编写jenkinsfile

pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                script{
                    checkout([$class: 'GitSCM', branches: [[name: '*/mainn']], extensions: [], userRemoteConfigs: [[credentialsId: 'gitlab-root', url: 'http://192.168.100.205:9000/gitlab-instance-c62a5228/rocket.git']]])
                }
            }
        }
        stage('check') {
            steps {
                sh '''
                    echo "check codes !!!!!!!!!!!!!!!"
                '''
            }
        }
    }
    //updateGitlabCommitStatus会将构建状态传到gitlab
    post {
      failure {
        updateGitlabCommitStatus name: 'build', state: 'failed'
      }
      success {
        updateGitlabCommitStatus name: 'build', state: 'success'
      }
    }
}

2、配置gitlab
(1) 配置项目webhook
在这里插入图片描述
(2) 配置 如果流水线时间失败无法合并代码
在这里插入图片描述

3、测试
修改dev分支代码,然后发起请求合并至main

会观察到jenkins有流水线执行

然后观察request merge
在这里插入图片描述

如果流水线构建失败,则处理人无法合并代码,无法显示merge按钮
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值