SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,本文将会介绍一下这个工具的安装、配置以及使用。
一、SonarQube的安装使用:
下载地址:http://www.sonarqube.org/downloads/
本文下载的版本是sonarqube-6.7.6。
下载完之后,选择进入具体的版本,本文作者的环境是:D:\sonarqube-6.7.6\bin\windows-x86-64
然后点击:StartSonar.bat启动SonarQube。
启动后显示SonarQube is up;
地址栏输入:
http://localhost:9000
表示:SonarQube安装完成,现在还没配置数据库,还不能正式使用。
二、数据库配置
1.打开mysql,新建一个数据库sonar。
2.打开sonarqube安装目录下的D:\sonarqube-6.7.6\conf\sonar.properties文件
3.输入以下数据库信息:
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
其中:url是数据库连接地址,username是数据库用户名,jdbc.password是数据库密码,login是sonarqube的登录名,sonar.password是sonarqube的密码
4.重启sonarqube服务,再次访问http://localhost:9000,会稍微有点慢,因为要初始化数据库信息,重启时候有可能一直卡在那里,重启服务不生效,这时候可以重启电脑,然后再次访问http://localhost:9000,会发现配置生效。
5.数据库初始化成功后,登录
选择常用语言,构建工具。
mvn sonar:sonar \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=a82d37888543b88fc2cac796922748d2cae45a14
6.按照下图的点击顺序,进入插件安装页面,搜索框搜索chinese,选择中文包,安装中文插件,安装之后,会自动提醒重启服务,点击重启,重启完之后,刷新,就看到中文版的页面
7.在Maven的settings.xml设置sonar信息
其中<sonar.host.url>http://localhost:9000</sonar.host.url>指明了sonar服务器的地址。所以在执行maven命令的时候,<sonar.host.url>指明的服务器必须已运行起来。
<profiles>
<profile>
<id>sonar</id>
<properties>
<sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar</sonar.jdbc.url>
<sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
<sonar.jdbc.username>root</sonar.jdbc.username>
<sonar.jdbc.password>root</sonar.jdbc.password>
<sonar.host.url>http://localhost:9000</sonar.host.url> <!-- Sonar服务器访问地址 -->
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>sonar</activeProfile>
</activeProfiles>
8.执行mvn sonar:sonar命令进行代码分析。
我们可以在Eclipse中,对一个标准maven工程执行sonar。说明:由于maven对sonar有很好的支持,会自动执行相应的脚本,所以无需在pom中添加sonar说明。
在执行maven进行sonar分析之前,必须确保sonar服务器已经处于运行状态。本例中sonar服务器运行在localhost:9000上。
首先,执行sonar:sonar命令,最后得到输出如下输出。如果输出”BUILD SUCCESS“说明已经构建成功。
查看分析结果
对于使用sonar自带服务器来说,在浏览器访问:http://sonar\_ip:9000,打开sonar结果页面。可使用admin/admin账号登录进入,可以查看到相关信息