安装环境: 本地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.Driver
复制代码5、启动
至此,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
复制代码配置内容基本见名即可知意,就不再赘述了。
接着通过命令行进入项目根目录下,执行: 耐心等待分析结束
返回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>
复制代码 接着进入到项目根目录,执行如下命令:
|