SonarQube 是一個開源的代碼質量管理平臺,主要用于持續檢查代碼質量,支持多種編程語言。
本文章記錄了在windows環境中,搭建和使用SonarQube的完整過程。
①SonarQube平臺搭建
SonarQube最新社區版本下載地址:
https://www.sonarsource.com/products/sonarqube/downloads/success-download-community-edition/
各個歷史版本的下載地址(社區版、開發人員版、企業版、數據庫版):
https://www.sonarsource.com/products/sonarqube/downloads/historical-downloads/
我本次下載的是最后一個社區版(10.7.0)
SonarQube官方文檔:
https://docs.sonarsource.com/sonarqube-server/latest/
安裝SonarQube服務
在這個目錄下執行cmd命令
SonarService.bat install
如果要卸載服務,執行命令:
SonarService.bat uninstall
啟動SonarQube服務
瀏覽器輸入?127.0.0.1:9000進行訪問
初始賬號和密碼都是?admin
登錄成功的樣子
漢化SonarQube平臺顯示
搜索中文包并安裝
安裝完成,重新啟動后,再次登陸,看到的就是中文了。
②PostgreSQL數據庫
安裝PostgreSQL數據庫
數據庫下載官網
https://www.postgresql.org/
安裝詳細教程
https://blog.csdn.net/m0_71071763/article/details/149602408
PostgreSQL創建新用戶
在PostgreSQL中創建用戶sonar
PostgreSQL創建新數據庫
在PostgreSQL中創建數據庫sonar
SonarQube配置數據庫連接
在SonarQube的conf/sonarproperties中配置數據庫連接。
找到配置文件
修改下面的內容
配置修改完成,重啟SonarQube。
重啟完成后,需要重新用admin登陸,密碼也是admin。
可以看到sonor數據庫下面新建了一些表。
③SonarScanner安裝和配置
需要安裝sonarScanner才能對代碼進行掃描。
下載sonar-scanner
不同的應用場景有不同的版本,選擇對應的版本進行下載。
如果不確定項目所屬類型,可以選擇通用版本(SonarScanner CLI)下載
通用版本掃描器下載地址
https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/scanners/sonarscanner/
下載完成后,是個壓縮包,進行解壓。
修改配置文件
配置conf目錄下的sonar-scanner.properties文件,添加sonarQube平臺地址
修改配置內容如下
其中token生成方式如下所示
將bin目錄配置到環境變量
把SonarScanner的bin目錄配置到系統環境變量中。
檢驗環境變量配置
在命令行輸入 sonar-scanner -h 確認環境變量是否生效。
到此,SonarQube平臺的搭建就完成了,包括SonarQube、PostgreSQL數據庫、SonarScanner,三部分組成。
④掃描項目
以Java項目為例,進行代碼的掃描。
配置掃描信息
在項目代碼根目錄下添加sonar-project.properties文件
文件內容如下 :
sonar.projectKey=jszx
sonar.projectName=jszx
sonar.projectVersion=1.0
sonar.sources=.
sonar.sourceEncoding=UTF-8
sonar.language=java
sonar.java.binaries=sa-admin/target/classes
sonar.scm.disabled=true
配置說明:
sonar.projectKey=在sonarQube上的實例鍵名(唯-)
sonar.projectName=在sonarQube上的項目名稱
sonar.projectVersion=1.0(項目版本號)
sonar.sources=.(java源代碼目錄指定)
sonar.sourceEncoding=UTF-8(編碼格式指定)
sonar.language=java(指明只掃描java語言)
sonar.java.binaries=target/classes(class文件的目錄)
在項目代碼根目錄下,運行掃描命令
sonar-scanner
等待掃描完成
出現這個信息,表示掃描完成。
查看掃描結果
訪問SonarQube平臺,查看掃描結果
可以看到掃描的項目名稱,已經顯示在上面。
點擊項目名稱,進入詳情頁面,可以看到具體的掃描結果信息。
根據問題說明對問題進行修復。
還有一種操作方式,在SonarQube平臺創建項目(不需要手動在項目目錄下面創建sonar-project.properties文件),然后執行命令進行掃描,具體操作如下:
打開cmd,然后定位到項目的根目錄下面,執行對應的命令。
等待執行結束
出現success表示掃描成功了,再去看瀏覽器頁面,此時就自動加載了掃描結果:
⑤在idea中進行代碼掃描分析
在idea中安裝插件:SonarQube for IDE
在idea左側,可以看到波浪線的小圖標,點擊后打開的就是對應的可視化窗口。
在這個窗口中可以直接看到當前文件所存在的一些問題。
點擊這個按鈕,可以對整個項目的所有代碼進行掃描。
整個項目的掃描結果
⑥idea與SonarQube掃描平臺建立連接
如果想把SonarQube掃描平臺的結果,同步顯示在idea中,通過以下配置即可:
點擊創建token,會自動打開瀏覽器頁面,然后選擇允許連接。
回到idea配置頁面,點擊下一步
完成配置。