Shelton

SonarQube安装与使用

SonarQube安装与使用

起因

前一段时间,由于公司项目需要进行代码质量检查,于是网上找到了SonarQube这个代码质量管理平台,而且还是开源的,暂且写下安装与使用过程方便以后再次使用。

关于

SonarQube(曾用名Sonar(声纳))是一个开源的代码质量管理系统。

通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测。
详情可以参考wiki-SonarQube

需求

Java开发环境
MySQL
SonarQube
SonarScanner

开始

配置启动环境

首先是下载完需要的基本东西后,都解压到一个目录。然后添加环境变量
SONAR_HOMESONAR_SCANNER_HOME,并将这两个都添加到PATH中,路径如下(参考用):

1
2
3
SONAR_HOME=你放在的目录
SONAR_SCANNER_HOME=你放在的目录
PATH后面添加;%SONAR_HOME%/bin/windows-x86-64/;%SONAR_SCANNER_HOME%/bin/

配置数据库

进入到MySQL输入:

1
2
3
4
5
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;

然后找到SONAR_HOME/conf/sonar.properties文件,打开文件进行数据库连接的配置,原本默认已经提供了各类数据库的支持了,这里使用的是MySQL,取消MySQL模块的注释即可:

1
2
3
sonar.jdbc.username = sonar
sonar.jdbc.password = sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

同样地,在SONAR_SCANNER_HOME/conf/sonar-scanner.properties也要这样修改:

1
2
3
4
5
#----- Default SonarQube server
sonar.host.url=http://localhost:9000
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8

数据库驱动

因为这里使用的是MySQL,默认提供了MySQL的驱动了,至于其它的,需要到SONAR_HOME/lib/jdbc下查看。

启动

接下来是先测试SonarQube能启动不,cmd下输入StartSonar.bat,启动完成后,在浏览器输入localhost:9000即可。

使用SonarQube Scanner分析源码

1.在你的项目下创建sonar-project.properties文件并,这里以Java项目为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# must be unique in a given SonarQube instance
sonar.projectKey=vc
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=vc
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=.
# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8

2.在项目的目录下打开cmd输入sonar-scanner,等待分析完成后就可以在访问localhost:9000就可以查看分析结果了。

与IDE关联

官方教程已经很详细了,而且还带图文。
Configuring SonarQube in Eclipse

最后

附上相关资料:

http://www.cnblogs.com/gao241/p/3190701.html

http://www.myexception.cn/open-source/1307345.html

http://www.cnblogs.com/qiaoyeye/p/5249786.html