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