sonar-关于安装配置
安装环境: 本地mac机器(不同操作系统其实影响不大,参考官网)预装环境: jdk1.8
关系型数据库(本人用mysql5.6)
安装配置步骤:
1、下载安装sonarqube 以及 sonar-runner 下载地址:http://www.sonarqube.org/downloads/(官网地址) 注: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.2
export SONAR_RUNNER_HOME=/work/soft/sonar-runner-2.4
export 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: 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.Driver5、启动
至此,sonar服务器的配置就结束了;接下来就是启动sonar。 进入到$SONAR_HOME/bin/${相应操作系统对应文件夹}下,启动服务即可#./sonar.sh start 启动服务
#./sonar.sh stop 停止服务
#./sonar.sh restart 重启服务6、安装中文插件(可选) 如果想要显示中文,在官网的插件列表中找到中文插件(http://docs.sonarqube.org/display/PLUG/Plugin+Library) 在上面链接找到中文插件发现链接到了github的托管项目(https://github.com/SonarCommunity/sonar-l10n-zh) 下载下来这个托管项目,使用maven打成一个jar包。 然后将其放到$SONAR_HOME/extensions/plugins下 重启sonar服务器,即可发现变成中文了。
7、使用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/即可看到关于这个项目的分析结果8、如果是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
sonar 配置复杂的点应该在规则上面 支持分享 我配置了个外部的自解析的json文件,但是sonar表示:External issues ignored for 1 unknown files, including: **.haha 后面这个是我配置的filepath的文件名,貌似就是解析不了?
页:
[1]