SonarQube 是一个开源的代码质量管理平台,覆盖了代码质量的7个维度:Potential bugs,Complexity,Unit tests、Dupliactions,Architecture & Design、Comments、Coding rules。由于本人刚接触SonarQube,本文仅介绍SonarQube平台的搭建及在Gradle构建脚本中使用sonarqube插件的简单实践,更深入的使用方法请参考SonarQube in Action。
安装MySQL
CentOS 7默认的仓库不包含MySQL数据库索引(默认为MariaDB),虽然MariaDB和MySQL的上层接口一致,但实践证实,SonarQube的确不支持MariaDB,于是这里介绍一下安装MySQL的过程。
安装SonarQube
SonarQube最新的LTS版本为5.6.3,需要系统上安装OpenJDK 8,在笔者的“同一系统安装多个Java版本”一文中对Java环境的配置做了介绍,此处不赘述。
创建SonarQube数据库账户
安装SonarQube
配置并启动
编辑/usr/share/sonar-5.6.3/conf/sonar.properties
文件,如下:
启动SonarQube:
Gradle and SonarQube
编辑项目的build.gradle
文件,添加如下内容:
添加gradle.properties
文件,内容如下:
LDAP 认证配置
在 Update Center 下载下载 LDAP 插件并配置/usr/share/sonar-5.6.3/conf/sonar.properties
,添加如下内容:
Email 配置
Administration => General Settings => Email
几个值得注意的问题:
SMTP username
需要与From address
相同
User secure connection
可能是plaintext
以上问题都可通过设置sonar.log.level=DEBUG
来查看,日志在 /usr/share/sonar-5.6.3/logs/sonar.log 中。
Reference:
1 Analyzing with SonarQube Scanner for Gradle
2 Sonar Examples
3 LDAP Plugin