Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。
关于Sonar的更多信息请查看Sonar官网。
安装
安装环境
CentOS 7.5 64bit
安装
安装JDK
只能使用1.8版本。
yum install java-1.8.0-openjdk.x86_64
安装数据库
数据库安装请参照MySQL安装经验分享,sonar要求的MySQL数据库版本要大于5.6,小于8.0。
创建数据库
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'localhost';
FLUSH PRIVILEGES;
创建unix用户
Sonar不建议在root账户下运行,使用root运行时会报错。
创建sonar用户
adduser sonar
修改sonar的密码
passwd sonar
下载安装包
在官网下载最新安装包
下载好之后将安装包解压到任意目录(目录不能以数字开头)
配置数据库
配置解压文件夹下面的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&useConfigs=maxPerformance&useSSL=false
配置sonar数据存储路径
编辑conf/sonar.properties
data和temp默认路径为解压后的目录下,也可以不做修改。
sonar.path.data=data
sonar.path.temp=temp
配置访问地址和端口
编辑conf/sonar.properties
默认端口为9000
sonar.web.host=0.0.0.0
sonar.web.port=9000
访问Sonar
在浏览器输入http://IP:9000/
,初始账户为admin/admin。
配置相关(可选)
LDAP配置
# Enable the LDAP feature
sonar.security.realm=LDAP
sonar.authenticator.downcase=true
ldap.url=ldap://<ip>:389
ldap.bindDn=cn=Manager,dc=domain,dc=com
ldap.bindPassword=your_passwd
ldap.user.baseDn=dc=domain,dc=com
ldap.group.idAttribute=uid
数据库链接配置
sonar.jdbc.maxActive=60
sonar.jdbc.maxIdle=5
sonar.jdbc.minIdle=2
sonar.jdbc.maxWait=5000
sonar.jdbc.minEvictableIdleTimeMillis=600000
sonar.jdbc.timeBetweenEvictionRunsMillis=30000
参考文献
1、Sonar官网