jenkins+gitlab 识别merge request事件并自动合并构建
jenkins+gitlab 识别merge request事件并自动合并构建jenkins部分的配置1. 安装gitlab plugin插件2. 设置跟踪source分支3. 设置构建前合并分支到目标分支4. 设置触发器gitlab部分设置1. 添加webhook2. 配置webhook版本说明:jenkins v2.234 docker方式安装gitlab-ce 12.10.3 docker方
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不通过,则管理人员关闭此合并请求,等待开发人员修改后重新提出申请,此时也不会触发构建。
更多推荐
所有评论(0)