安装环境:
本地mac机器(不同操作系统其实影响不大,参考官网)
预装环境:
jdk1.8
关系型数据库(本人用mysql5.6)
安装配置步骤:
1、下载安装sonarqube 以及 sonar-runner
下载地址:
注:sonar-runner是sonarqube分析源代码的命令行工具
将下载的sonarqube-5.1.2.zip和sonar-runner-dist-2.4.zip解压到自定义目录(我在本机解压到了/work/local)
2、配置环境变量
添加SONAR_HOME、SONAR_RUNNER_HOME环境变量,并将SONAR_RUNNER_HOME加入PATH,代码如下:
export SONAR_HOME=/work/soft/sonarqube-5.1.2export SONAR_RUNNER_HOME=/work/soft/sonar-runner-2.4export PATH=${PATH}:${SONAR_RUNNER_HOME}/bin
这样就将sonarqube环境变量配置完成了。退出命令行,在打开,输入echo $SONAR_HOME,检验是否会有路径输出。
3、创建数据库
以管理员身份登陆相应的mysql数据库,执行如下sql:
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';mysql> FLUSH PRIVILEGES;
4、配置sonar和sonar-runner
修改$SONAR_HOME/conf/sonar.properties,添加刚刚创建的数据库连接信息,具体如下:
sonar.jdbc.username: sonarsonar.jdbc.password: sonarsonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true# Optional propertiessonar.jdbc.driverClassName: com.mysql.jdbc.Driver
同样,修改$SONAR_RUNNER_HOME/conf/sonar-runner.properties,添加刚刚创建的数据库连接信息,具体如下:
sonar.jdbc.username: sonarsonar.jdbc.password: sonarsonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true# Optional propertiessonar.jdbc.driverClassName: com.mysql.jdbc.Driver
5、启动
至此,sonar服务器的配置就结束了;接下来就是启动sonar。
进入到$SONAR_HOME/bin/${相应操作系统对应文件夹}下,启动服务即可
#./sonar.sh start 启动服务#./sonar.sh stop 停止服务#./sonar.sh restart 重启服务
启动完成后访问地址: 如果出来了sonar首页,表示安装成功。
6、安装中文插件(可选)
如果想要显示中文,在官网的插件列表中找到中文插件(
在上面链接找到中文插件发现链接到了github的托管项目(
下载下来这个托管项目,使用maven打成一个jar包。
然后将其放到$SONAR_HOME/extensions/plugins下
重启sonar服务器,即可发现变成中文了。
7、使用sonar分析普通java工程(假设工程名为:a)
在工程根目录创建文件sonar-project.properties
添加类似如下内容:
#required metadata#projectKey项目的唯一标识,不能重复sonar.projectKey=xjglxtsonar.projectName=xjglxtsonar.projectVersion=1.0sonar.sourceEncoding=UTF-8sonar.modules=java-module# Java modulejava-module.sonar.projectName=Java Modulejava-module.sonar.language=java# .表示projectBaseDir指定的目录java-module.sonar.sources=.java-module.sonar.projectBaseDir=src#sonar.binaries=classes# JavaScript module#javascript-module.sonar.projectName=JavaScript Module#javascript-module.sonar.language=js#javascript-module.sonar.sources=js#javascript-module.sonar.projectBaseDir=webRoot# Html module#html-module.sonar.projectName=Html Module#html-module.sonar.language=web#html-module.sonar.sources=pages#html-module.sonar.projectBaseDir=webRoot
配置内容基本见名即可知意,就不再赘述了。
接着通过命令行进入项目根目录下,执行:
sonar-runner
耐心等待分析结束
返回 即可看到关于这个项目的分析结果
8、如果是maven工程
在maven的配置文件$M2_HOME/conf/settings.xml中,找到profiles节点,在其中添加如下配置:
sonar1 true jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8 com.mysql.jdbc.Driver sonar sonar http://localhost:9000
接着进入到项目根目录,执行如下命令:
mvn sonar:sonar
即可。
以上仅仅是本人的实践步骤,如有错误,欢迎指正。