激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

服務器之家 - 編程語言 - Java教程 - Jenkins集成sonarQube實現代碼質量檢查過程圖解

Jenkins集成sonarQube實現代碼質量檢查過程圖解

2020-09-04 00:17東溪陳姓少年 Java教程

這篇文章主要介紹了Jenkins集成sonarQube實現代碼質量檢查過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1.sonarQube的簡介

SonarQube是一款自動化代碼審查工具,用于檢測代碼中的錯誤、漏洞和代碼異味。它可以與你現有的工作流集成,以支持跨項目分支和拉取請求的連續代碼檢查。

其工作流程如下:

Jenkins集成sonarQube實現代碼質量檢查過程圖解

如圖SonarQube由以下4個組件組成:

1.SonarQube Server:

WebServer:供開發人員,管理人員瀏覽高質量的快照并配置SonarQube實例Search Server:基于Elasticsearch的Search Server從UI進行后退搜索(歷史)computeEngine:負責處理代碼分析報告并將其保存在SonarQube數據庫中

2.SonarQube Database:

SonarQube實例的配置(安全性、插件設置等)項目、視圖等的質量快照。

3.SonarQube Plugins:服務器上安裝了多個SonarQube插件,可能包括語言,SCM,集成,身份驗證和管理插件

4.SonarScanners:多種sonar掃描組件,在構建/持續集成服務器上運行以分析項目。

關于sonar的具體介紹可參考其官網

2.SonarQube的安裝

SonarQube提供了多種安裝方式,本文將使用docker鏡像的安裝方式進行演示。

1.拉取sonarQube的docker容器

$> docker pull sonarqube:8.2-community

2.創建docker數據卷

#包含數據文件,例如嵌入式H2數據庫和Elasticsearch索引
$> docker volume create --name sonarqube_data
#包含插件,例如語言分析器
$> docker volume create --name sonarqube_extensions
#包含有關訪問,Web流程,CE流程和Elasticsearch的SonarQube日志
$> docker volume create --name sonarqube_logs

3.配置本地數據庫(示例使用postgresql)

如果使用postgresql的默認schema "public",則無需這一步。如果想自定義schema,則執行以下命令

ALTER USER mySonarUser SET search_path to <自定義的schema名稱>

4.啟動sonarQube

$> docker run -d --name sonarqube
-p 9000:9000
#以下為給sonarQube的數據庫配置,推薦postgresql
-e SONAR_JDBC_URL=jdbc:postgresql://xxxx:5432/postgres
-e SONAR_JDBC_USERNAME=...
-e SONAR_JDBC_PASSWORD=...
-v sonarqube_data:/opt/sonarqube/data
-v sonarqube_extensions:/opt/sonarqube/extensions
-v sonarqube_logs:/opt/sonarqube/logs
<image_name>

本地瀏覽器訪問localhost:9000即可訪問。

3.sonarQube中創建項目步驟

1:新建項目

Jenkins集成sonarQube實現代碼質量檢查過程圖解

步驟2:填寫項目信息

Jenkins集成sonarQube實現代碼質量檢查過程圖解

步驟3:創建令牌

Jenkins集成sonarQube實現代碼質量檢查過程圖解

步驟4:記錄令牌

Jenkins集成sonarQube實現代碼質量檢查過程圖解

創建項目完成,并且記錄下令牌,后續步驟會用到。

4.jenkins配置sonarQube插件1.安裝sonarQube插件

Jenkins集成sonarQube實現代碼質量檢查過程圖解2.添加sonarQube配置

在jenkins>Manage Jenkins>global configuration中配置sonar的信息,如下圖:

Jenkins集成sonarQube實現代碼質量檢查過程圖解

name為自定義的名字,serverURL為sonarqube的訪問地址

最后一項token需要添加。點擊添加,如下圖:

Jenkins集成sonarQube實現代碼質量檢查過程圖解

類型選擇 Secret text,并將我們在第三步中得到的token填入secret欄,其余欄目自定義。添加完后,回到上一步Server authentication token選擇剛剛添加的token。

5.項目中引入sonarQube

以下為maven單模塊項目示例:

1.引入sonarqube插件:

<!--添加參數,指定projectKey,即在sonar中創建項目時的名稱-->
<properties>
	<sonar.projectKey>sonar-demo</sonar.projectKey>
</properties>
<!--添加sonarqube插件-->
<plugin>
 <groupId>org.sonarsource.scanner.maven</groupId>
 <artifactId>sonar-maven-plugin</artifactId>
 <version>3.6.0.1398</version>
</plugin>

2.手動代碼掃描

執行以下命令

mvn sonar:sonar
-Dsonar.projectKey=sonar的項目名稱
-Dsonar.host.url=http://sonar的地址
-Dsonar.login=第三步記錄的令牌

執行完成回到sonarQube界面,可看到掃描記錄及結果:

Jenkins集成sonarQube實現代碼質量檢查過程圖解6.jenkins

6.jenkins pipeline中集成sonarqube

在jenkinsfile中定義代碼靜態檢查的stage,如下圖:

Jenkins集成sonarQube實現代碼質量檢查過程圖解

上圖中定義了兩個stage,1.代碼靜態檢查 2.檢查結果分析

??:檢查結果分析階段jenkins通過sonarqube的回調來得知掃描結果,需要在sonarqube中配置webhook:

Jenkins集成sonarQube實現代碼質量檢查過程圖解

webhook域名為jenkins地址域名。

至此,在jenkins pipeline(流水線)中成功集成sonarqube,如下圖:

Jenkins集成sonarQube實現代碼質量檢查過程圖解7.sonarQube

7.sonarQube自定義質量閥

1.創建自定義質量閥

Jenkins集成sonarQube實現代碼質量檢查過程圖解2.

配置質量閥

Jenkins集成sonarQube實現代碼質量檢查過程圖解3.測試

例如當閥值過高時,掃描結果不符合閥值要求,掃描結果則會失敗。

示例中我們隨便調整某個條件至當前項目無法到達的值

Jenkins集成sonarQube實現代碼質量檢查過程圖解

此時當pipeline在運行的時候,代碼質量檢查就會失敗,因為沒有達到標準。

Jenkins集成sonarQube實現代碼質量檢查過程圖解

??:所以,我們在自定義自己項目的閥值的時候要視不同的項目情況而定。

8.總結

本文介紹了在jenkins多分支流水線中集成sonarQube,從而實現在持續集成中代碼質量檢查。文章涉及到的某些方面(jenkinsfile,sonarQube詳細使用等等)沒有詳細介紹,只是快速帶過了。sonarQube是業界知名度很高的代碼檢查工具,也是ci/cd中的工具生態成員。深入探索它,還會發現更多有用的,有趣的特性。代碼質量檢查時代碼質量內建的一部分,在流水線中集成代碼質量檢查可以及時的發現代碼中存在的問題和缺陷,從而及時修復問題,防止技術債務的堆積(還是那句話,解決問題最好的時機時問題出現的那一刻),否則當問題堆積到一定程度的時候,修復成本會越來越高。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/dongxishaonian/p/12672235.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人一级视频在线观看 | 国产午夜精品视频免费不卡69堂 | 99精品视频在线免费观看 | 亚洲国产精品久久久久久久久 | 国产成人在线视频播放 | 88xx成人永久免费观看 | 久久久久久三区 | 毛片视频网址 | 欧美性色生活片免费播放 | 极品美女一级毛片 | 国产亚洲精品综合一区91555 | 久久久综 | 九九热视频这里只有精品 | 在线播放视频一区二区 | 爱高潮www亚洲精品 国产一区二区三区视频免费 | 欧美日韩精品一区二区三区在线观看 | teensexhd| 视频在线中文字幕 | 午夜网站视频 | 国产乱淫a∨片免费视频 | 一区二区三区在线观看av | cosplay裸体福利写真 | 精品国产一区二区在线观看 | 免费看成年人视频在线 | 免费黄色大片在线观看 | 精品久久久久久久久久中出 | 欧美一区二区三区不卡免费观看 | xxxx18韩国护士hd老师 | 一区在线看 | 久久久久久久久久久久久九 | 亚洲最黄视频 | 国产黄色一区二区 | 日韩在线播放中文字幕 | 天堂热| 欧美特级一级毛片 | 日本aaaa片毛片免费观看视频 | 亚洲国产精品一区二区三区 | 亚洲一级电影在线观看 | 99久久久久久久久 | 国产精品wwww| 欧美日韩国产成人在线观看 |