安装环境:javascript
本地mac机器(不一样操做系统其实影响不大,参考官网)
html
预装环境:java
jdk1.8
mysql
关系型数据库(本人用mysql5.6)
git
安装配置步骤:
github
一、下载安装sonarqube 以及 sonar-runnerweb
下载地址:http://www.sonarqube.org/downloads/(官网地址) sql
注:sonar-runner是sonarqube分析源代码的命令行工具
shell
将下载的sonarqube-5.1.2.zip和sonar-runner-dist-2.4.zip解压到自定义目录(我在本机解压到了/work/local)数据库
二、配置环境变量
添加SONAR_HOME、SONAR_RUNNER_HOME环境变量,并将SONAR_RUNNER_HOME加入PATH,代码以下:
export SONAR_HOME=/work/soft/sonarqube-5.1.2 export SONAR_RUNNER_HOME=/work/soft/sonar-runner-2.4 export PATH=${PATH}:${SONAR_RUNNER_HOME}/bin
这样就将sonarqube环境变量配置完成了。退出命令行,在打开,输入echo $SONAR_HOME,检验是否会有路径输出。
三、建立数据库
以管理员身份登录相应的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;
四、配置sonar和sonar-runner
修改$SONAR_HOME/conf/sonar.properties,添加刚刚建立的数据库链接信息,具体以下:
sonar.jdbc.username: sonar sonar.jdbc.password: sonar sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true # Optional properties sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
一样,修改$SONAR_RUNNER_HOME/conf/sonar-runner.properties,添加刚刚建立的数据库链接信息,具体以下:
sonar.jdbc.username: sonar sonar.jdbc.password: sonar sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true # Optional properties sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
五、启动
至此,sonar服务器的配置就结束了;接下来就是启动sonar。
进入到$SONAR_HOME/bin/${相应操做系统对应文件夹}下,启动服务便可
#./sonar.sh start 启动服务 #./sonar.sh stop 中止服务 #./sonar.sh restart 重启服务
启动完成后访问地址:http://localhost:9000/ 若是出来了sonar首页,表示安装成功。
六、安装中文插件(可选)
若是想要显示中文,在官网的插件列表中找到中文插件(http://docs.sonarqube.org/display/PLUG/Plugin+Library)
在上面连接找到中文插件发现连接到了github的托管项目(https://github.com/SonarCommunity/sonar-l10n-zh)
下载下来这个托管项目,使用maven打成一个jar包。
而后将其放到$SONAR_HOME/extensions/plugins下
重启sonar服务器,便可发现变成中文了。
七、使用sonar分析普通java工程(假设工程名为:a)
在工程根目录建立文件sonar-project.properties
添加相似以下内容:
#required metadata #projectKey项目的惟一标识,不能重复 sonar.projectKey=xjglxt sonar.projectName=xjglxt sonar.projectVersion=1.0 sonar.sourceEncoding=UTF-8 sonar.modules=java-module # Java module java-module.sonar.projectName=Java Module java-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
耐心等待分析结束
返回http://localhost:9000/ 便可看到关于这个项目的分析结果
八、若是是maven工程
在maven的配置文件$M2_HOME/conf/settings.xml中,找到profiles节点,在其中添加以下配置:
<profile> <id>sonar1</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8</sonar.jdbc.url> <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver> <sonar.jdbc.username>sonar</sonar.jdbc.username> <sonar.jdbc.password>sonar</sonar.jdbc.password> <sonar.host.url>http://localhost:9000</sonar.host.url> </properties> </profile>
接着进入到项目根目录,执行以下命令:
mvn sonar:sonar
便可。
以上仅仅是本人的实践步骤,若有错误,欢迎指正。