SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装、配置以及使用。

准备工作;

1、jdk(1.8及以上)

2、SonarQube:http://www.sonarqube.org/downloads/

3、SonarQube+Scanner:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227-windows.zip

4、mysql数据库(5.5至8.0版本)



一、安装篇

1.下载好SonarQube后,解压打开bin目录,启动相应操作系统目录下的StartSonar。如本文演示使用的是win的64位系统,则打开

sonarqube-7.6\bin\windows-x86-64\StartSonar.bat

2.启动浏览器,访问http://localhost:9000,如出现下图则表示安装成功。

3.默认的用户名密码:admin/admin

sonarqube mysql数据库配置文件 sonarqube安装_bc

注意:如果要关闭sonarqube服务,则在服务窗口界面,快捷键Ctrl+C,然后输入Y退出,如图所示:

sonarqube mysql数据库配置文件 sonarqube安装_python_02

不要直接关闭,不然再次启动时会出现如下报错:

sonarqube mysql数据库配置文件 sonarqube安装_数据库_03



解决方法:

当你看到如下所示内容的时候,很可能是由于之前打开的sonarqube未正常关闭,这时需要打开任务管理器,将和Java有关的进程全部关掉,重新启动sonarqube即可成功。

4.SQ汉化:https://github.com/SonarQubeCommunity/sonar-l10n-zh 

 点击官方文档左侧的Plugins 进入右侧右下角的Localization 点击Chinese 进入了github地址(
https://github.com/SonarQubeCommunity/sonar-l10n-zh) 对应版本是

SonarQube    6.0    6.1    6.2    6.3    6.4    6.5    6.6    6.7
sonar-l10n-zh    1.12    1.13    1.14    1.15    1.16    1.17    1.18    1.19
SonarQube    5.4    5.5    5.6                         
sonar-l10n-zh    1.9    1.10    1.11                         
SonarQube    4.0    4.1                              
sonar-l10n-zh    1.7    1.8                              
SonarQube    3.1    3.2    3.3    3.4    3.5    3.6    3.7     
sonar-l10n-zh    1.0    1.1    1.2    1.3    1.4    1.5    1.6
查看对应的版本 5.4需要1.9的sonar-l10n-zh  点击releases下载对应版本
将下载好的jar 置入  extensions\plugins目录下

重启服务 访问http://localhost:9090发现变成中文版

另外一种方式 也可以登录系统  点击配置-系统-更新中心管理插件 可以在线搜索安装chinese插件



二、配置篇

 

1.打开mysql,新建一个数据库,名为sonarDB。

2.打开SonarQube安装目录下的

sonarqube-7.6\conf\sonar.properties文件

3.在MySQL节点下输入以下信息

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarDB?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

sonar.jdbc.username=root  

sonar.jdbc.password=root

sonar.sorceEncoding=UTF-8

4.重启sonarqube服务,再次访问http://localhost:9000,会稍微有点慢,因为要初始化数据库信息

5.数据库初始化成功后,登录(默认用户名和密码分别是admin/admin)



三、使用篇

Sonar-scanner 插件配置应用

1.访问官网:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

下载sonar-scanner插件:

sonarqube mysql数据库配置文件 sonarqube安装_ViewUI_04

2.打开sonar-scanner-3.3.0.1492-windows\conf\sonar-scanner.properties文件

3.mysql节点下输入以下信息

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarDB?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.jdbc.username=root

sonar.jdbc.password=root

注意:如果测试项目与服务器不在同一台机子,则需要添加SonarQube服务器的IP:

sonar.host.url=http://localhost:9000

4.配置环境变量

a.新建变量,name=SONAR_RUNNER_HOME。value=E:\Program Files\sonar-scanner-3.2.0.1227

b.打开path,输入%SONAR_RUNNER_HOME%\bin;

c.sonar-scanner --version,出现以下信息,则表示环境变量设置成功

sonarqube mysql数据库配置文件 sonarqube安装_python_05

5.打开要进行代码分析的项目根目录,新建sonar-project.properties文件

6.输入以下信息

# must be unique in a given SonarQube instance

sonar.projectKey=my:project

# this is the name displayed in the SonarQube UI

sonar.projectName=hnsi-calc-ybjs-service

sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.

# Since SonarQube 4.2, this property is optional if sonar.modules is set.

# If not set, SonarQube starts looking for source code from the directory containing

# the sonar-project.properties file.

sonar.sources=src

sonar.java.binaries=target

sonar.language=java

# Encoding of the source code. Default is default system encoding

sonar.sourceEncoding=UTF-8

其中:projectName是项目名字,sources是源文件所在的目录,binaries是class文件所在的目录

7.设置成功后,启动sonarqube服务,并启动cmd

8.在cmd进入项目所在的根目录,输入命令:sonar-scanner,分析成功后会出现下图

sonarqube mysql数据库配置文件 sonarqube安装_bc_06

9.打开http://localhost:9000/,我们会看到主页出现了分析项目的概要图

sonarqube mysql数据库配置文件 sonarqube安装_数据库_07

10.我们点击项目,选择“Bugs”,可以看到问题bug列表:

sonarqube mysql数据库配置文件 sonarqube安装_javascript_08

sonarqube mysql数据库配置文件 sonarqube安装_bc_09

10.选择一个bug,点击,能看到具体的代码。看到数字“+2”,说明引起该问题的原因是“1”,会发生问题的是“2”,找到数字对应的代码,并进行分析改进。

sonarqube mysql数据库配置文件 sonarqube安装_javascript_10

sonarqube mysql数据库配置文件 sonarqube安装_ViewUI_11