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.6至8.0版本)
一、安装篇
1.下载好SonarQube后,解压打开bin目录,启动相应操作系统目录下的StartSonar。如本文演示使用的是win的64位系统,则打开
E:\Program Files\sonarqube-7.3\bin\windows-x86-64\StartSonar.bat
2.启动浏览器,访问http://localhost:9000,如出现下图则表示安装成功。
注意:如果要关闭sonarqube服务,则在服务窗口界面,快捷键Ctrl+C,然后输入Y退出,如图所示:
不要直接关闭,不然再次启动时会出现如下报错:
二、配置篇
1.打开mysql,新建一个数据库,名为sonarqube。
2.打开SonarQube安装目录下的
E:\Program Files\sonarqube-7.3\conf\sonar.properties文件
3.在MySQL节点下输入以下信息
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=falsesonar.jdbc.username=root sonar.jdbc.password=rootsonar.sorceEncoding=UTF-8
4.重启sonarqube服务,再次访问http://localhost:9000,会稍微有点慢,因为要初始化数据库信息
5.数据库初始化成功后,登录(默认用户名和密码分别是admin/admin)
三、使用篇
1.打开E:\Program Files\sonar-scanner-3.2.0.1227\conf\sonar-scanner.properties文件
2.mysql节点下输入以下信息
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformancesonar.jdbc.username=rootsonar.jdbc.password=root
注意:如果测试项目与服务器不在同一台机子,则需要添加SonarQube服务器的IP:
sonar.host.url=http://localhost:9000
3.配置环境变量
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,出现以下信息,则表示环境变量设置成功
4.打开要进行代码分析的项目根目录,新建sonar-project.properties文件
5.输入以下信息
# must be unique in a given SonarQube instancesonar.projectKey=my:project# this is the name displayed in the SonarQube UIsonar.projectName=hnsi-calc-ybjs-servicesonar.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=srcsonar.java.binaries=targetsonar.language=java# Encoding of the source code. Default is default system encodingsonar.sourceEncoding=UTF-8
其中:projectName是项目名字,sources是源文件所在的目录,binaries是class文件所在的目录
6.设置成功后,启动sonarqube服务,并启动cmd
7.在cmd进入项目所在的根目录,输入命令:sonar-scanner,分析成功后会出现下图
此时,可能会出现的问题:
问题:Caused by: svn: E175002: connection refused by the server 服务器拒绝连接问题
解决:公司项目连接svn是需要连接vpn(网关),登陆vpn后问题就解决了
8.打开http://localhost:9000/,我们会看到主页出现了分析项目的概要图
9.我们点击项目,选择“Bugs”,可以看到问题bug列表:
10.选择一个bug,点击,能看到具体的代码。看到数字“+2”,说明引起该问题的原因是“1”,会发生问题的是“2”,找到数字对应的代码,并进行分析改进。