您的位置:首页 > 产品设计 > UI/UE

配置gitlab通过sonar扫描结果是否同意merge request

2020-01-15 10:31 1796 查看

本文主要介绍gitlab发起合并请求时,通过jenkins触发sonarqube对gitlab项目进行扫描,之后将扫描结果返回到merge request,如果扫描成功则自动同意合并请求,如果扫描不成功则强制关闭合并请求

环境搭建这里不过多赘述,排坑教程我的博客里也有,各位看官自便。

sonar配置

在soanr中 配置——网络调用
之后创建,名称随便填,URL填你的 jenkins网址/soanrqube-webhook/

创建完成就是这样,第一次创建最后信息那里不会显示东西

jenkins配置

jenkins要安装 Sonar Quality Gates 插件
在 系统管理——系统设置 中设置插件,各项设置的含义都很明显,不多说

之后配置项目
新建一个maven项目,之后做如下配置
根据需要设置构建触发器,我这里只勾选了当发起merge request时触发jenkins构建。这里的url和下面生成的token要添加到gitlab的webhook里
我们在构建这里选择了execute sonarqube scanner选项。gitlab会在发往jenkins的hook中会发送一些变量供我们在jenkins中使用,大家可以参考:https://github.com/jenkinsci/gitlab-plugin#add-a-note-to-merge-requests,完整的变量图我放在最后。

gitlab配置

首先要确定gitlab工程里这里的设置是开启的

创建webhook
至此设置完毕,项目pom文件设置和maven设置这里就不多说了,我的其他文章中有讲。
执行起来的效果就是,当gitlab发起合并请求时,触发jenkins构建,jenkins触发sonar扫描代码,之后把扫描的结果返回到gitlab。
sonar的扫描结果。因为我的代码有不符合规范的地方,所以上面jenkins构建的状态是失败的。
gitlab上返回的结果


完整的变量图:

参考文章:http://mini.eastday.com/a/190913032104233.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
爱新觉罗磊 发布了7 篇原创文章 · 获赞 0 · 访问量 96 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐