版本说明:
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不通过,则管理人员关闭此合并请求,等待开发人员修改后重新提出申请,此时也不会触发构建。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐