SonarQube简介
Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar可以支持 Java,JavaScrip 等多个语言的代码质量管理与检测。
SonarQube搭建
搭建环境:MAC
-
下载并安装JDK环境
最新Sonar版本必须使用JDK1.8环境
-
下载并安装MySQL数据库,并启动mysql
下载地址:https://dev.mysql.com/downloads/mysql/
安装与配置:http://www.jianshu.com/p/fd3aae701db9 -
mysql创建对应数据库
进入mysql命令行,输入如下命令
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;
-
下载SonarQube
-
修改SonarQube的配置文件
打开sonarqube的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 sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
-
SonarQube启动并访问
进入SonarQube的bin目录,由于是mac环境,进入macosx-universal-64文件夹,执行启动命令 ./sonar.sh start,停止命令 ./sonar.sh stop,重启命令 ./sonar.sh restart
cd /XXXXXXXXX/sonarqube-6.2/bin/macosx-universal-64 ./sonar.sh start
浏览器访问此地址 http://localhost:9000 查看是否运行成功,默认登录用户名/密码为 admin/admin
-
SonarQube无法启动的问题
问题:查看logs/web.log 发现如下报错
Exception sending context initialized event to listener instance of class org.sonar.server.platform.web.RubyRailsContextListener org.jruby.rack.RackInitializationException: java.lang.NullPointerException
解决方法:SonarQube路径中含有中文路径,将SonarQube移入英文路径中
-
SonarQube的中文插件包下载配置
SonarQube使用
-
下载sonarscanner
下载地址:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
-
修改sonarscanner的配置文件
打开sonarscanner的conf/sonar.properties文件,修改配置如下,最新sonarscanner版本只需要配置sonar.host.url字段就可以
sonar.host.url=http://localhost:9000
-
配置环境变量
配置.bash_profile文件,增加对应的sonarscanner的bin目录的环境变量设置,设置如下
export PATH=${PATH}:/XXXXXXXXX/sonar-scanner-2.8/bin
命令行执行如下命令,看执行是否成功,判断环境变量是否配置成功
sonar-runner -v
-
添加审核项目的审核配置文件
进入对应需要审核的项目的主目录,增加审核配置文件sonar-project.properties,配置如下(例子为java工程)
sonar.projectKey=mytest:java_test sonar.projectName=java_test sonar.projectVersion=1.0 sonar.sources=src
-
进入对应审核项目目录,执行审核命令
cd /XXXXXXXXX/java_test sonar-runner
审核结果查看
登录 http://localhost:9000, 点击项目目录查看运行结果
![审核结果.jpg](http://upload-images.jianshu.io/upload_images/1535472-c1d4ee898028ccf1.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
参考:
mysql的安装:http://www.jianshu.com/p/fd3aae701db9
SonarQube的安装:http://blog.csdn.net/maylorchao/article/details/45648045
SonarQube的安装与运行:http://www.cnblogs.com/qiaoyeye/p/5249786.html