本篇文章给大家分享的是有关怎么在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$
结果确认

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

脆弱性信息详细
查出了一个缺陷,实际是一个误报,详细可参看maven使用方式的详细介绍。
- https://www.jb51.net/article/153522.htm 

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

以上就是怎么在Gradle中使用Sonarqube进行代码审查,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。
当前题目:怎么在Gradle中使用Sonarqube进行代码审查
当前地址:http://www.cqwzjz.cn/article/pijceg.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 