温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在Gradle中使用Sonarqube进行代码审查

发布时间:2021-05-17 17:29:05 来源:亿速云 阅读:579 作者:Leah 栏目:编程语言

本篇文章给大家分享的是有关怎么在Gradle中使用Sonarqube进行代码审查,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Sonarqube

Sonarqube可以使用docker版本快速搭建

环境假定

本文使用到的sonarqube为本机32003可以访问到的服务。

gradle的sonarqube插件

gradle中的sonarqube的插件是org.sonarqube,用来在gradle中调用sonarqube进行代码质量分析。详细介绍请参看:

  • https://plugins.gradle.org/plugin/org.sonarqube

  • 当前插件最新版本:2.6.2(更新于2018/2/13)

使用方式

指定plugin

在build.gradle中添加如下插件版本信息

plugins {  id "org.sonarqube" version "2.6.2" }

添加apply plugin信息

apply plugin: "org.sonarqube"

sonarqube设定信息

最简单的需求的情况下,非多工程项目做以上配置即可,接下来就是传递给gradle所需要的sonarqube的详细信息,而这些可以通过property的方式传入,详细的使用方式在前面的基础中都已介绍,此处不再赘述,主要设定的内容为:

  • URL:systemProp.sonar.host.url=http://localhost:32003

  • 用户名:systemProp.sonar.login=admin

  • 密码:systemProp.sonar.password=admin

设定方式可以使用如下方式:

sonarqube {   properties {     property "sonar.host.url", "http://localhost:32003"     property "sonar.login", "admin"     property "sonar.password", "admin"   } }

build.gradle详细信息

liumiaocn:springboot liumiao$ cat build.gradle  buildscript {  ext {  springBootVersion = '2.1.1.RELEASE'  }  repositories {  mavenCentral()  }  dependencies {  classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")  } } plugins {  id "org.sonarqube" version "2.6.2" } sonarqube {   properties {     property "sonar.host.url", "http://localhost:32003"     property "sonar.login", "admin"     property "sonar.password", "admin"   } } apply plugin: 'java' apply plugin: 'jacoco' apply plugin: 'org.sonarqube' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' group = 'com.liumiaocn' version = '0.0.1-SNAPSHOT' sourceCompatibility = 1.8 repositories {  mavenCentral() } dependencies {  implementation('org.springframework.boot:spring-boot-starter-web')     testImplementation('org.springframework.boot:spring-boot-starter-test') } jacocoTestReport {   reports {     xml.enabled false     html.enabled true   } } check.dependsOn jacocoTestReport liumiaocn:springboot liumiao$

扫描方式

可以使用gradle sonarqube即可进行扫描

执行日志

liumiaocn:springboot liumiao$ gradle sonarqube
> Task :sonarqube
SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project.
Class not found: javax.annotation.Nonnull
Class not found: javax.annotation.meta.When
Class not found: javax.annotation.meta.TypeQualifierNickname
Class not found: org.junit.jupiter.api.extension.ExtendWith
BUILD SUCCESSFUL in 6s
5 actionable tasks: 1 executed, 4 up-to-date
liumiaocn:springboot liumiao$

结果确认

怎么在Gradle中使用Sonarqube进行代码审查

扫描结果确认

可以看到质量扫描结果和覆盖率的信息都进行了显示

怎么在Gradle中使用Sonarqube进行代码审查

脆弱性信息详细

查出了一个缺陷,实际是一个误报,详细可参看maven使用方式的详细介绍。

  • https://www.jb51.net/article/153522.htm

怎么在Gradle中使用Sonarqube进行代码审查

代码覆盖率

代码覆盖率的详细信息也可以在sonarqube上进行直接确认

怎么在Gradle中使用Sonarqube进行代码审查

以上就是怎么在Gradle中使用Sonarqube进行代码审查,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI