1. 介绍

介绍如何使用sonarqube 提供静态代码分析服务.

2. 安装

需要安装sonar服务器,可以至SONAR官网下载 社区版,开发版,企业版或数据中心版.

本文示例使用docker desktop安装社区版image

  1. 运行docker desktop

  2. 在菜单中选择kitematic运行

  3. 在kitematic查询sonarqube,选择offcial官方的image下载创建

  4. 创建好后,配置共享文件目录和映射端口

    4.1 将共享目录挂载至 /opt/sonarqube/data
    4.2 将端口映射为localhost的9000端口
  5. 运行container

  6. 配置groovy插件

    6.1 访问localhost:9000
    6.2 使用admin/admin账户登录sonar系统
    6.3 访问 administration -> marketplace ->plugins
    6.4 搜索 groovy
    6.5 发现 版本支持sonar-groovy-plugin 1.6 版本
    6.6 至网址https://ci.appveyor.com/project/TobiX/sonar-groovy/build/artifacts 中的history中寻找1.6 的jar包下载
    6.7 将jar包复制至共享目录
    6.8 在container的执行环境中将jar包复制至/opt/sonarqube/extenstions/plugins目录下,然后重启sonar

3. sonar 配置

登录sonar系统,创建project项目,生成令牌token

4. 开发项目配置

4.1. 配置项目的build.gradle文件

buildscript {
    repositories {
        maven { url "https://plugins.gradle.org/m2/" }
        jcenter()
        mavenCentral()
    }
}
plugins {
    id "org.sonarqube" version "2.7"
}
sonarqube {
    properties {
        property "sonar.sources", "src/main/groovy"
        property "sonar.sourceEncoding", "UTF-8"
    }
}
apply plugin: "org.sonarqube"
apply plugin: 'groovy'
......
......

4.2. 配置gradle.properties文件

在项目的根目录生成一下文件,命名gradle.properties

systemProp.sonar.host.url=http://localhost:9000
systemProp.sonar.login=*************     (1)
systemProp.sonar.projectKey=GB           (2)
1 在“sonar 配置”一节创建的令牌token
2 在“sonar 配置”一节创建的项目名称

4.3. 运行检查

运行 check 任务.

$ ./gradlew sonarqube

或直接使用idea的gradle工具

4.4. 查看报告

登录sonar服务器,查看项目代码检查报告

企业版本中有pdf插件,可将报告导出为pdf格式