一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Gradle進階使用結合Sonarqube進行代碼審查的方法

Gradle進階使用結合Sonarqube進行代碼審查的方法

2021-06-25 14:08liumiaocn Java教程

今天小編就為大家分享一篇關于Gradle進階使用結合Sonarqube進行代碼審查的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

作為代碼質量檢查的流行工具,比如sonarqube能夠檢查代碼的“七宗罪”,跟代碼結合起來能夠更好地提高代碼的質量,這篇文章將會介紹如何結合gradle和sonarqube對代碼質量與測試覆蓋率進行分析。

sonarqube

sonarqube可以使用docker版本快速搭建,可以參看一下easypack整理的鏡像,具體使用可以參看如下鏈接,這里不再贅述:

環境假定

本文使用到的sonarqube為本機32003可以訪問到的服務。

gradle的sonarqube插件

gradle中的sonarqube的插件是org.sonarqube,用來在gradle中調用sonarqube進行代碼質量分析。詳細介紹請參看:

使用方式

指定plugin

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

?
1
2
3
plugins {
 id "org.sonarqube" version "2.6.2"
}

添加apply plugin信息

?
1
apply plugin: "org.sonarqube"

sonarqube設定信息

最簡單的需求的情況下,非多工程項目做以上配置即可,接下來就是傳遞給gradle所需要的sonarqube的詳細信息,而這些可以通過property的方式傳入,詳細的使用方式在前面的基礎中都已介紹,此處不再贅述,主要設定的內容為:

  • url:systemprop.sonar.host.url=http://localhost:32003
  • 用戶名:systemprop.sonar.login=admin
  • 密碼:systemprop.sonar.password=admin

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

?
1
2
3
4
5
6
7
sonarqube {
  properties {
    property "sonar.host.url", "http://localhost:32003"
    property "sonar.login", "admin"
    property "sonar.password", "admin"
  }
}

build.gradle詳細信息

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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使用方式的詳細介紹。

Gradle進階使用結合Sonarqube進行代碼審查的方法

代碼覆蓋率

代碼覆蓋率的詳細信息也可以在sonarqube上進行直接確認

Gradle進階使用結合Sonarqube進行代碼審查的方法

小結

使用sonarqube可以很好的檢查出代碼的問題,但是在實際的項目中需要進行裁剪和定制,掃出來的不一定有問題,沒有掃出來也不一定萬事大吉,但是一定程度的代碼規范和質量提高還是很有用處,實際在使用的時候應該根據具體情況進行實施。

參考文章

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/liumiaocn/article/details/84230429

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 高清欧美videossexo免费 | 香蕉免费看一区二区三区 | 国产精品视频2020 | 色妞女女女女女bbbb | 久久re视频精品538在线 | 国产成人综合一区精品 | 师尊被各种play打屁股 | 国产成人精品视频一区二区不卡 | 欧美又硬又粗又长又大 | 日韩去日本高清在线 | 啊好痛嗯轻一点免费 | 精品无人区麻豆乱码无限制 | 国产精品国产高清国产专区 | 青青青草国产线观 | 99视频精品国在线视频艾草 | 国产成人综合视频 | 国产亚洲欧美日韩综合综合二区 | 国产网站免费看 | 99久久精品免费观看区一 | 欧美一区精品二区三区 | 国产区成人综合色在线 | 欧美日韩精品免费一区二区三区 | 亚洲免费网站在线观看 | 国产短视频精品一区二区三区 | 青草视频久久 | 国产成人a v在线影院 | 青青青久热国产精品视频 | 果冻传媒91| 国产日韩视频一区 | 视频一区二区三区在线 | 国产午夜精品久久久久小说 | beeg日本高清xxxx18 | 免费日批软件 | gangbang日本 | 色视频国产 | 久久不射电影网 | 黄a级 | 狠狠综合久久综合网站 | 数学老师扒开腿让我爽快 | 国产私拍精品88福利视频 | 2014天堂|