抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

Merge预检查的目的是为在开发流程中,gitlab设置权限后,代码提交,让jenkins模拟合并,然后构建一些任务(如build,单元测试,接口测试,sonar扫描等),设置条件,当有用例失败或者构建失败的话,自动关闭Merge请求。

jenins配置deploykey

在jenkins所在节点执行

1
ssh-keygen

按三下回车,然后查看生产的key

1
cat ~/.ssh/id_rsa.pub

复制,然乎到gitlab仓库,配置中点击deploy key, 添加,将复制的信息添加进去。不要忘了点击Enable以启用。

Jenkins添加 deploykey用户

  • 新建job,正常填写信息,源码管理下面有个Credentials,点击后面的Add
  • Kind选择SSH username with private keyusername自定义,是用于在下拉列表中展示的,Private Key选择Enter directly,将上面复制的key复制到地下的框中,Description里可以填写一些附加信息,描述作用(有时候列表里添加的用户信息太多名字重合可以加描述用以区分)。
  • 保存,下拉框选择刚刚加的用户。

配置Merge检查任务

  • 紧接着刚刚那个job,源码管理处,点击Add Reponsitory。在新出来的输入框中,Reponsitory URL填写${gitlabSourceReponsitory},用户选择上面添加的用户。
  • 下面一行Branches to build, 填写${gitlabSourceName}/${gitlabSourceBranch}(仓库名/分支名)。
  • 下方add中添加Merge before build, Name of reponsitory填写origin ,Branch to merge to填写${gitlabTargetBranch},Merge strategy填写default, Fast-forward mode填写--ff
  • 勾选下方构建触发器Gitlab Project Path填写源代码主仓库路径,如git@gitlab.abc.com:aa/bb,则填写aa/bbAuto Close Failed默认是勾选,控制失败后自动关闭Merge请求,Crontab line控制插件自动检测频率,通用写法。其他选项,根据字面意识理解就行。

剩下的就是自定义Excute Shell

检查配置是否成功

  • fork一下主仓库,点击fork仓库的设置,在deploy keyenable一下开头添加的key
  • 更贵fork信息,提交代码到fokr仓库
  • 向主仓库发起merge请求
  • 等待一个crontab周期,看任务是否触发

评论