1.Sonar概述
Sonar是一个用于代码质量管理的开放平台。通过插件机制,Sonar可以继承不同的测试工具,代码分析工具,以及持续集成工具。
与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。
2.Sonar的安装
前提环境:
1.已安装Java环境。
2.已安装数据库(本文章中使用mysql数据)。
软件下载地址:http://www.sonarqube.org/downloads/
分别下载SonarQube和SonarQube-Runner。
注意:目前最新版的SonarQube版本为5.6,要求mysql数据库版本在5.6以上,刚开始我用SonarQube5.6的版本,mysql为5.1,sonar服务死活起不了。后来google一下,发现这个问题。于是将sonar版本改为4.5.7。
1.数据库配置:
进入数据库:
#mysql -uroot -p[密码]
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;
2.安装sonarqube和sonar-runner
①将下载的sonar-3.7.zip包解压至Linux某路径如/usr/local
②将下载的sonar-runner-dist-2.3.zip包解压某路径/usr/local
③添加SONAR_HOME、SONAR_RUNNER_HOME环境变量,并将SONAR_RUNNER_HOME加入PATH。如下图
3.修改sonarqube的配置文件
sonarqube配置文件位置:<install_directory>/conf/sonar.properties(例如:/usr/local/sonarqube-4.5.7/conf/sonar.properties)
该文件中包含配置数据库设置以及web启动的一系列设置。
①配置数据库设置:默认已经提供了各类数据库的支持,这里使用mysql,因此取消mysql模块的注释。如下图
②web启动配置:sonar支持类似tomcat服务启动配置一样,默认的端口号为9000,host为localhost。如下图:在这里我把端口号改了,原因是9000端口貌似被占用,因此改为9003.
4.修改sonar-runner的配置文件:
sonar-runner配置文件位置:<install_directory>/conf/sonar-scanner.properties(例如:/usr/local/sonar-scanner-2.6.1/conf/sonar-scanner.properties)将默认的注释去掉。如下图:
5.启动服务
目录切换至sonar的<install_directory>/bin/macosx-universal-64/目录,启动服务
#./sonar.sh start 启动服务
#./sonar.sh stop 停止服务
#./sonar.sh restart 重启服务
#./sonar.sh console 查看控制台
至此,sonar就安装好了
访问http://localhost:9003 即可
6.sonar中文补丁包安装中文包安装安装中文补丁包可以通过访问http://localhost:9003 ,打开sonar后,进入更新中心安装或者下载中文补丁包后,放到SONARQUBE_HOME/extensions/plugins目录,然后重启SonarQube服务