分支合并前,通常需要在本地进行合并测试,看是否有代码冲突,编译是否通过,没有问题了,才敢把合并后的代码往主干分支提交,如果分支很多怎么办? 如果日常需要经常合并怎么办? 每次手动来这么一个测试步骤会不会很烦? 现在有这么一个插件,可以在服务器进行自动合并检测,并报告给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,合并工作即可完成。
网友评论