sonar入門


一、Sonar是什么?

根據我的了解,可以說Sonar包含三個部分:

  • SonarQube是一種自動代碼審查工具,用於檢測代碼中的錯誤,漏洞和代碼味道。它可以與您現有的工作流程集成,以實現跨項目分支和提取請求的連續代碼檢查。其目的是對代碼庫的質量進行360°透視。 為此,它會定期分析項目的所有源代碼行。SonarQube是保存分析結果的中心服務器。

  • SonarLint是一個Sonarl IDE插件,可以接收和連接SonrarQube對代碼庫掃描的結果從而通知Developer, SonarLint本身也可以基於一些規則對代碼IDE中的代碼進行即時的檢測。

  • SonarScanner是分析並將結果發送到SonarQube。可以從 zip 文件運行 SonarScanner,也可以從從 Docker 鏡像運行 SonarScanner。使用SonarScanner,測試人員不用安裝java開發環境即可完成代碼的分析。

image

二、為什么要使用Sonar?

Sonar是目前主流的自動靜態掃描代碼的工具。

Sonar (SonarQube)是一個開源平台,用於管理源代碼的質量。Sonar 不只是一個質量數據報告工具,更是代碼質量管理平台。支持15種語言靜態代碼分析:Java、JavaScript、C#、TypeScript、Kotlin、Ruby、Go、Scala、Flex、Python、PHP、HTML、CSS、XML 和 VB.NET等。

Sonar可以發現語法特征錯誤、邊界行為特征錯誤和經驗特征錯誤這三類“有特征”的錯誤。能夠以極低的成本發現以下問題:

  • 使用未初始化的變量;

  • 變量在使用前未定義;

  • 變量聲明了但未使用;

  • 變量類型不匹配;

  • 部分的內存泄漏問題;

  • 空指針引用;

  • 緩沖區溢出;

  • 數組越界;

  • 不可達的僵屍代碼;

  • 高的代碼復雜度;

  • 死循環;

  • 大量的重復代碼塊;

三、Sonarqube環境搭建

1、安裝jdk11

這是前提條件

2、安裝和使用sonarqube

1、下載社區版sonarqube,直接解壓

官網地址:https://www.sonarqube.org/downloads/

image

image

image

2、不自行搭建數據庫,先使用sonarqube自帶的數據庫
image

需要注意:
內嵌數據庫只能用於測試場景
內嵌數據庫無法擴展,也無法升級到新版本的SonarQube,並且不能支持將你的數據遷移至其他數據庫引擎。

3、運行sonar
進入到bin目錄,使用管理員運行
image

image

4、訪問http://localhost:9000
image

5、登錄,默認用戶和密碼admin/admin
image

需要修改密碼
image

6、添加項目
image

image

image

image

image

3、下載和配置SonarScanner

1、下載並解壓縮適用於 Windows 的掃描儀:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

image

image

image

如果電腦下載特別慢,嘗試使用手機下載,很快就下載完成
image

2、解壓下載的文件,將bin目錄添加到%PATH%環境變量中
image

image

四、遇到的問題

1、非管理員身份運行sonarqube失敗

image

在windows系統怎么簡單就怎么來吧,不使用命令行運行,直接界面運行。
image

2、Jdk版本不正確

運行sonarqube出現以下提示,需要使用jkd11

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM