SonarScanner 整合 SonarQube 代码质量检查完美方案

Posted BUG弄潮儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SonarScanner 整合 SonarQube 代码质量检查完美方案相关的知识,希望对你有一定的参考价值。

1. 汉化 SonarQube

虽然已经把 SonarQube 服务搭建好了,但是界面是英文的;不利于母语是汉语的我们查看相关指标。其实 SonarQube 提供了中文插件包,进行国际化。

  • 下载插件

https://github.com/xuhuisheng/sonar-l10n-zh

下载下来是一个jar包:sonar-l10n-zh-plugin-9.3.jar

  • 安装

直接把 jar 放到如下目录

C:\\jenkins\\sonarqube-9.3.0\\extensions\\plugins

然后重启服务,即可看到中文界面。

 

 

 

还有另外一种简单的中文插件安装方法(其他插件也可以这样安装),就是登陆 SonarQube 后,然后按照下图的方式安装

 

 

 

2. SonarScanner 进行代码检查

进入如下目录

C:\\jenkins\\SpringBoot_v2

然后打开一个 cmd 命令行窗口,在该目录下执行命令

sonar-scanner

 

 

 

错误提示需要提供认证才能登录 SonarQube 。在 sonar-project.properties 增加如下配置

sonar.login=admin
sonar.password=admin123

增加完后,继续扫描

 

 

出现上图的错误,sonar.java.binaries 是项目编译后的class文件的目录,需要继续增加配置

sonar.java.binaries=./target/classes

./target/classes 一定要是一个存在的目录。正常在svn或者git服务器下载的项目代码是没有 classes 目录的。可以直接配置成

sonar.java.binaries=.

sonar-project.properties 的完整配置如下

sonar.projectKey=SpringBoot_v2:1.0
sonar.projectName=SpringBoot_v2
sonar.projectVersion=1.0
sonar.sources=src
sonar.sourceEncoding=UTF-8
sonar.login=admin
sonar.password=admin123
sonar.java.source=1.8
sonar.java.binaries=./target/classes

另外 sonar.login 和 sonar.password 配置项也可以采用 token 模式,后续讲解。

3. SonarQube 上查看代码检查结果

sonar-scanner 命令执行完后,登录

http://localhost:9000/

 

 

 

至此,SonarScanner 与 SonarQube 整合进行代码质量扫描就 OK 了。

另外,SonarScanner 提供了与eclipse、idea、jenkins等工具的集成。

以上是关于SonarScanner 整合 SonarQube 代码质量检查完美方案的主要内容,如果未能解决你的问题,请参考以下文章

使用SonarQube+SonarScanner对Java代码进行扫描(Windows环境)

Sonarqube SonarScanner 忽略 React 项目中的 Javascript 文件

MySQL5.7+SonarQube7.4+SonarScanner4.2安装与使用

gitlab+jenkins+maven+docker持续集成——sonarqube及sonarscanner代码审查

SonarScanner (C#) 不支持代码内 StyleCop 警告抑制

利用 SonarScanner 静态扫描 Rainbond 上的 Maven 项目