代码质量静态分析部署

方案参考:https://plugins.jenkins.io/sonar-gerrit/

方案组合:

GitLab + Gerrit + Jenkins + SonarQube

说明:

在Docker下部署了GitLab、 Gerrit 、 Jenkins 、 SonarQube

理论上支持在现有Gerrit 、 Jenkins部署上添加SonarQube插件实现

Docker

下载Docker Desktop版本:

通过Docker Compose部署GitLab,Gerrit,Jenkins,SonarQube

本文本地部署如下:

image

GitLab

无针对SonarQube的特殊配置,不做配置说明

Gerrit

无针对SonarQube的特殊配置,不做配置说明

SonarQube

为了测试使用了Docker本地搭建的SonarQube环境,理论上可以使用公司的SonarQube

文档是在Docker搭建的SonarQube,所以访问地址是http://localhost:9000

创建SonarQube Token

image

这个Token在配置Jenkins时会用到

进入配置界面,把SCM开关打开

image

Jenkins

版本要求:Jenkins version 1.625.3 or newer is required.

需要下载以下插件:

image

Gerrit Trigger

没有针对SonarQube的特殊配置,Jenkins和Gerrit可以联动即可

image

系统管理 -- 系统设置中配置SonarQube servers

image

其中Server authentication token是SonarQube配置生成的

生成一个Token,填入到Jenkins配置参数中:

image

创建Jenkins任务时,勾选Prepare SonarQube Scanner environment选项,选择配置的SonarQube token

image

在构建时的Action添加Execute SonarQube Scanner:

image

“sonar.projectKey”可随意指定

“sonar.sources”指定了源文件路径

“sonar.java.binaries”是编译后的class文件的路径

image

在构建后的Action添加PostSonarQube issues as Gerrit Comments:

image

配置完后查看构建日志:

image

验证

  1. JAVA代码中加入:

public int testSonar = 0;

  1. Git提交修改
  2. 查看Gerrit提交结果
image

你可能感兴趣的:(代码质量静态分析部署)