Azure DevOps(二)Azure Pipeline 集成 SonarQube 維護代碼質量和安全性

一,引言

  對於今天所分析的 SonarQube,首先我們得了解什麼是 SonarQube ? SonarQube 又能幫我們做什麼?我們是否在項目開發的過程中遇到人爲 Review 代碼審覈規範?帶着以上問題,開始今天的分析內容吧 !!!

1)什麼是 SonarQube ?

SonarQube 是一種自動代碼審查工具,用於檢測代碼中的錯誤、漏洞和代碼問題。

2)SonarQube 能幫助我們做什麼?

它可以與我們現有的工作流程集成,以實現跨項目分支和拉取請求的持續代碼檢查。

SonarQube 與 Azure DevOps 的集成允許我們在 Azure DevOps 存儲庫中維護代碼質量和安全性。同時支持 Azure DevOps Server (本地)和 Azure DevOps Services (雲端)。在 Azure Pipelines 作業中運行的 SonarQube 擴展可以自動檢測正在構建的分支或拉取請求。

重點:SonarQube 也有版本的區分

  SonarQube Cloud:Saas 化的產品,託管在 AWS 上的,無需擔心安裝和維護

  SonarQube Server:SonarQube 服務和數據庫都是需要我們安裝到自己的服務器或者雲端服務器,這就需要我們自行維護

兩種產品基本上都涵蓋了支持多種語言的代碼分析,共享相同的底層靜態分析引擎來捕獲錯誤,漏洞等。那麼讓我們正式開始今天的內容

--------------------Azure DevOps 系列--------------------

1,Azure DevOps(一)基於 Net6.0 的 WPF 程序如何進行持續集成、持續編譯

2,Azure DevOps(二)Azure Pipeline 集成 SonarQube 維護代碼質量和安全性

二,正文

1,創建 SonarQube 項目

登錄 sonarCoud.io 選擇 Azure DevOps 登錄

點擊 “+” 選擇 “Analyze new project” 創建新項目

選擇本次實驗的代碼項目,點擊 “Set Up“ 進行設置

2,配置與 Azure Pipeline 的集成

點擊 ”With Azure DevOps Pipelines“ 開始配置

首先需要在 Visual Studio Marketplace 獲取、安裝 SonarCloud 擴展

選擇 "Pipelines =》“”Service connection" ,點擊 “New service connection” 添加新的服務連接

在我們的新的 SonarCloud service connection 輸入以下參數,參數也來源於剛剛在 sonarcloud 上創建好的項目

點擊 “Verify and save”

接下來就是 Pipeline 中添加 Sonar 的 Task了,打開已經編輯好的 Azure Pipeline 的 YAML 文件

1)搜索添加 “Prepare Analysis Configuration”

輸入以下參數

SonarCloud Service Endpoint 選擇:“SonarCloud”

Organization 選擇:“SonarQube_Test”

Project Key:“AllenMaster_NetCore_WPF_Sample”

Project Name:"NetCore_WPF_Sample"

點擊 ”Add“ 

Project Key 可以在 SonarCloud 的項目配置中可以找到

2)搜索添加 “Run Code Analysis” 並添加 Task

 3)搜索添加 “Publish Quality Gate Result” 並添加 Task

配置完成後,點擊 ”Save“ 保存 YAML 文件,並將修改內容提交到 master 分支

最後,我們可以嘗試運行 Pipeline,並在 SonarCloud 上查看代碼分析報告

報告了主要有以下幾個個指標

Bugs :代碼中的重大 bug 錯誤,可能影響到項目的正常運行。

Code Smells:無關緊要的編碼不規範問題,建議改正,點開詳情可以看到規範的使用案例。

Vulnerabilities:項目中存在的漏洞,需要進行改正。

Coverage:項目的單元測試情況。

Duplications:項目中的重複代碼塊,建議重構。

三,結尾

  使用 sonarqube 分析項目代碼代碼的實驗全部過程已經完成了。大家也多多操作練習,本文所分享的內容也存在着很多我自己的一些理解,有理解不到位的,還希望多多包涵,並且指出不足之處。

作者:Allen 

版權:轉載請在文章明顯位置註明作者及出處。如發現錯誤,歡迎批評指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章