代码检查工具sonarqube介绍及使用

时间:2024-01-17 20:56:20

亲测有效

环境:springboot+gradle+jdk1.8+sonarqube7.4

一、说明:

SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等等二十几种编程语言的代码质量管理与检测。

通过客户端插件分析源代码,sonar客户端可以采用IDE插件、Sonar-Scanner插件、Ant插件和Maven插件方式等,官网是这么列举的很方便集成:

每一种都有自己的分析机制对项目源代码进行分析和扫描,并把分析扫描后的结果上传到sonar的数据库,通过sonar web界面对分析结果进行查看管理

架构图

下载sonarqube包:https://www.sonarqube.org/。现在下载使用的是7.4。下载后是zip格式,linux下和windows下都是这个包,解压即可。

下载sonarqube中文包:地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases,根据对应的版本,下载对应的sonar-l10n-zh-plugin-***.jar包,下载下来后,把jar放到sonarqube-7.4/extensions/plugins目录下,

二、配置

配置文件为/conf/sonar.properties。可以设置使用的数据库和提供的ip和端口。使用postgresql数据库需要注意不能指定模式名称,必须使用默认的default。如果不使用需要按照文档做更多配置来支持。现在配置如下即可

sonar.jdbc.url=jdbc:postgresql://192.169.31.106:5432/sonar

sonar.jdbc.username=postgres

sonar.jdbc.password=123456

sonar.web.host=192.169.31.107

sonar.web.port=9000

数据库可以不进行配置,若不配置则使用自带数据库,不支持数据迁移。Ip为部署机器的ip

三、启动

Windows下:在sonarqube-7.4/bin目录下,根据对应的系统版本,选择对应的文件夹,我的是windows 64位,故选择windows-x86-64目录,打开文件StartSonar.bat ,

Linux下:

1、      创建新用户:adduser sonarUser

2、      改变权限:、chown -R sonarUser:sonarUser  /usr/local/sonarqube-7.4/

3、      切换至普通用户下,进入bin/linux64启动下:./sonar.sh console  日志启动模式;./sonar.sh start 后台启动模式;第一次启动可以使用日志模式查看下是否能成功启动,若没有问题,停掉后再切换为后台启动

4、      如果启动出错可以查看下/sonarqube-7.4/temp/conf/es的权限是改变了,如果没有改变则重新执行chown -R sonarUser:sonarUser  /usr/local/sonarqube-7.4/对应目录

四、gradle集成:

Build.gradle中配置:

plugins {

id "org.sonarqube" version "2.6.2"

}

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2"
  }
}
apply plugin: "org.sonarqube"

在build.gradle平级目录新建gradle.properties配置文件。内容为systemProp.sonar.host.url=http://172.16.31.107:9000。次配置是为了将扫描代码结果传送给sonar服务。

在gradle命令行输入:gradle sonarqube即可进行扫描。

五、打开浏览器输入192.169.31.107:9000访问扫描结果。