jenkins+gitlab 识别merge request事件并自动合并构建


版本说明:
jenkins v2.234 docker方式安装
gitlab-ce 12.10.3 docker方式安装

jenkins部分的配置

1. 安装gitlab plugin插件

在这里插入图片描述在这里插入图片描述

2. 设置跟踪source分支

源码管理配置变量,动态跟踪请求合并的分支
访问gitlab-plugin插件网站:https://github.com/jenkinsci/gitlab-plugin
可以知道通过变量gitlabSourceBranch获取到source分支

在这里插入图片描述

3. 设置构建前合并分支到目标分支

Advanced checkout behaviours 用来修改checkout的超时(工程较大时默认10min可能不够)
Advanced clone behaviours 用来修改clone或fetch的超时(理由同上)
Prune stale remote-tracking branch 用来跟新无效的远程分支。
Merge before build 关键选项,本文的目的就是在同意merge request前构建,方便排除问题。如果目标分支需要动态获取可以用变量gitlabTargetBranch代替
在这里插入图片描述

4. 设置触发器

因为gitlab同意或者直接关闭Merge Request时不需要再次触发构建,所以在这里只处理Open Merge Request Event。
Gitlab webhook URL 部分是用来配置gitlab的,
token 也是用来配置gitlab的。
filter branch by name的配置说明下:include表示需要跟踪的target branch用逗号分隔。
在这里插入图片描述其他的构建方法在此不表。
至此jenkns部分设置结束。

gitlab部分的设置

1. 添加webhook

在这里插入图片描述

2. 配置webhook

这里的URL就是上面配置触发器时的获取
token的配置同理
配置Merge request events才触发这个webhook
在这里插入图片描述

至此,目的达到,当开发人员通过gitlab 打开一个merge request时,会自动触发jenkins合并与构建,可以通过配置jenkins的邮件提醒,构建成功后通知管理人员,这时再经过必要的代码review后,管理人员正式同意合并代码,此时不会再触发构建;如果构建失败或其他代码review不通过,则管理人员关闭此合并请求,等待开发人员修改后重新提出申请,此时也不会触发构建。

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值