SonarQube 多分支功能使用(社区版)

SonarQube 多分支功能使用(社区版)


title: SonarQube 多分支功能使用(社区版)
date: 2021-03-27 23:24:00
author: mamian521#gmail.com


本文以 SonarQube 7.9 版本的为例,介绍社区版本的多分支功能。

准备

  • 插件地址 https://github.com/mc1arke/sonarqube-community-branch-plugin/releases ,并安装到 SonarQube 安装目录下的 lib/commons 目录 和 extensions/plugins 目录下。注意,该插件版本必须和 SonarQube 版本兼容,例如,该插件的 1.3.2版本对应 SonarQube 7.9 版本。
  • 可以直接使用我打包好的 Docker 镜像,参考

使用

使用多分支之前需要先扫描主分支,多分支有一些概念我简单介绍下。

  • 主分支,首要的分支,一般为 master
  • 长期分支,长期维护的分支,如 release 和 develop 分支,问题数据单独存储
  • 短期分支,短期分支的问题和长期分支相比是增量的数据
  • PR,PullRequest 扫描

主分支

主分支是 main branch,主分支是可修改的,默认情况下,系统设定为 master 。如果不设置 sonar.branch.name 参数,那么系统默认此次任务的分支是 master 。

关于分支提交任务的问题,这里我整理了几种情况。

  • 如果主分支不是 master ,建议在 SonarQube 创建project之后,修改主分支名称。
  • sonar-scanner 提交扫描任务时,指定分支名为 主分支的名称 (例如 master),如果第一次指定的分支名不是主分支,也不是master,那么会报错。请按照上一条步骤解决。
  • sonar-scanner 如果不指定分支名,默认将是 master 分支。
  • sonar-scanner 扫描过主分支后,接下来可以扫描其他分支
  • 可以在每个仓库的设置页面上配置长期分支的正则表达式,用来区分哪些分支是长期分支

设置扫描分支

在 sonar-scanner 命令中增加 -Dsonar.branch.name={branch.name} 参数,例如 -Dsonar.branch.name=feature-foo 然后就可以设置扫描分支

API

获取 Issue 接口的 api ,例如 /api/issues/search 接口获取指定分支数据库,可以添加 branch 参数即可

SonarQube 多分支功能使用(社区版)

SonarQube 多分支功能使用(社区版)

SonarQube 多分支功能使用(社区版)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SIIz6txl-1632372532574)(/Users/mark/Library/Application Support/typora-user-images/image-20210327232659091.png)]

SonarQube 多分支功能使用(社区版)

联系我们

SonarQube 多分支功能使用(社区版)

上一篇:SonarScanner扫描Maven项目使用说明


下一篇:Gitlab集成Sonarqube自动检测代码并发送报告给提交者