GitLab+jenkins 进行代码Merge自动错误检测

分支合并前,通常需要在本地进行合并测试,看是否有代码冲突,编译是否通过,没有问题了,才敢把合并后的代码往主干分支提交,如果分支很多怎么办? 如果日常需要经常合并怎么办? 每次手动来这么一个测试步骤会不会很烦? 现在有这么一个插件,可以在服务器进行自动合并检测,并报告给GitLab, 用户可以愉快的进行合并分支。

一、在jenkins中安装Gitlab Merge Request Builder 插件

在可选插件中选择该插件并进行安装,如图


二、在jenkins系统设置中设置Gitlab Merge Request Builder

安装好插件后,在首页中点击“系统管理”-》“系统设置”可对Merge Request进行设置,如图


jenkins UserName:这个用户必须是GitLab用户,用于来访问GitLab的

Jenkis Api Token:这个Token可以从GitLab获取到


Crontab line:定时时间,推荐每5分钟检测一次

三、新建Job

首页点击“新建”,输入Job名,选择“构建一个自由风格的软件项目”,

配置Git源码,如图:

Credentials:不知道配置的请参考《Jenkins+Gradle+Git+Centos 实现android持续集成、打包(超详细)》

${gitlabSourceBranch}:合并的源分支,如develop,如果测试不通过,可直接输入develop分支名

${gitlabTargetBranch}:合并的目标分支,如master,如果测试不通过,可直接输入master


配置构建触发器,选择GitLab Merge Requests Builder

GitLab Project Path: 输入Git地址尾后部分,如git地址是git@gitlab.xxx.com:Android/long_temp.git,输入Android/long_temp


假如还需要在合并后测试是否编译通过,在构建步骤中,选择Invoke Gradle script,配置如下:


点击“保存”。

测试如下:

在GitLab中发起一个Merge Request


Jenkins在5分钟后(配置的时间)检测到这个pull Request,随后进行合并和构建的工作,并通知GitLab,如果测试通过(如图Tests Passed消息),点击Accept Merge Request,合并工作即可完成。
————————————————
版权声明:本文为CSDN博主「石工记」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/swebin/java/article/details/65935928

posted @ 2020-07-15 22:52  志不坚者智不达  阅读(834)  评论(0编辑  收藏  举报