sonarQube如何工作?
sonar靜態代碼掃描由2部分組成:sonarQube平臺,sonar-scanner掃描器。
sonarQube: web界面管理平臺。
1)展示所有的項目代碼的質量數據。
2)配置質量規則、管理項目、配置通知、配置SCM等。
sonarScanner: 代碼掃描工具。
專門用來掃描和分析項目代碼。支持20+語言。
代碼掃描和分析完成之后,會將掃描結果存儲到數據庫當中,在sonarQube平臺可以看到掃描數據。
sonarQube和sonarScanner之間的關系:
sonarQube的基本使用(四)
7.執行代碼檢查
用測試用戶登錄之后,測試用戶只能看到公開的4個項目和一個私有的項目testPrj,當前該項目還沒有運行過代碼檢查,所以沒有檢查結果信息。
安裝成功后,執行代碼檢查命令,這里我們用令牌代替了用戶名密碼。
執行成功后輸出BUILD SUCCESS.
回到sonarQube,發現testPrj項目的檢查結果已經出來了。但是你會發現項目名卻不是testPrj,而是別名稱,之前也提到過這一點,sonarQube的項目標識符不會變,但是項目名稱會被代碼項目名覆蓋。
點擊項目名進去檢查總覽頁,打開項目信息面板我們可以看到項目標識還是testPrj,左側綠域表示檢查結果的質量閾狀態,中間區域顯示bug和漏洞的數量等信息。
Sonarqube代碼分析
當使用 SonarQube對某一個項目進行代碼質量管理時,通??梢圆捎萌N不同的方法來發起代碼分析,分別為 Analyzing with SonarQube Runner,Analyzing with SonarQube Ant Task 和 Analyzing with Maven 方法。這三種方法的主要區別是 , 它們分別適用于不同架構和組織形式的項目,并且其相應的配置文件的寫法也不盡相同。下面主要說一下Analyzing with SonarQube Runner和Analyzing with Maven
Sonarqube集成
下面是SonarQube與其他sonarqube ALM工具如何集成以及SonarQube各種組件在何處被使用。
1)開發在IDE開發代碼并使用sonarlint運行本地分析
2)開發把代碼提交到SCM工具中:git, SVN, TFVC, ...
3)持續集成服務器觸發自動編譯以及執行SonarQubeScanner
4)SonarQubeServer 處理分析報告
5)SonarQubeServer 處理并存貯分析報告到數據庫里并在頁面上顯示處理結果.
6)開發審查解決他們的問題,在頁面管理問題
7)管理者獲得分析報告
Ops 可以使用API從 SonarQube抽取數據
Ops 可以使用 JMX 監控 SonarQubeServer.