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