SonarQube
Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言(支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex等)提供支持,对国际化以及报告文档化也有良好的支持。可以说Sonar是目前最强大的代码质量管理工具之一。
环境前提
- Centos 6.7
- JDK 1.8
- Mysql 5.6
安装
创建数据库及授权
1
2
3
4
5CREATE 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
从官方下载Downloads,下载后放到/opt,解压ZIP文件。配置sonar.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14# User credentials.
# Permissions to create tables, indices and triggers must be granted to JDBC user.
# The schema must be created first.
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
#----- Embedded Database (default)
# H2 embedded database server listening port, defaults to 9092
#sonar.embeddedDatabase.port=9092
#----- MySQL 5.6 or greater
# Only InnoDB storage engine is supported (not myISAM).
# Only the bundled driver is supported. It can not be changed.
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false启动SonarQube
用root无法启动SonarQube,需要另外新建普通用户来启动。创建sonar用户,并修改解压后的文件夹Own为sonar。
切换用户,执行:1
[sonar@Automation sonarqube-6.7.5]$ ./bin/linux-x86-64/sonar.sh start
启动失败,一直报DB链接错误,需要在MySQL的my.cnf修改
bind-address = localhost
,重启Mysql,再重启SonarQube就可以了。验证
Browser打开http://192.168.220.132:9000/
,如下页面