天天看點

代碼分析平台Sonarqube的簡單使用

一、簡介

在Sonarqube的官方網站上(https://www.sonarqube.org/),有着下面的介紹:

代碼分析平台Sonarqube的簡單使用

簡單翻譯過來就是:代碼品質和代碼安全的保障工具。SonarQube 是一個開源的代碼分析平台, 用來持續分析和評測項目源代碼的品質。 通過SonarQube我們可以檢測出項目中重複代碼, 潛在bug, 代碼規範,安全性漏洞等問題, 并通過SonarQube web UI展示出來。

二、使用

SonarQube的使用,要用到2個部分:sonarQube平台,sonar-scanner掃描器。他們的關系如下:

代碼分析平台Sonarqube的簡單使用

sonarQube提供了一個配套的web界面管理平台。改平台可以展示所有的項目代碼的品質資料,也可以配置品質規則、管理項目、配置通知、配置SCM等。sonarScanner是一個代碼掃描工具,專門用來掃描和分析項目代碼。支援20+語言,像java\python\C#\javascript\go\C++(備注:PHP是世界上最好的語言),代碼掃描和分析完成之後,會将掃描結果存儲到資料庫當中,在sonarQube平台可以看到掃描資料。

代碼分析平台Sonarqube的簡單使用

在官網下載下傳好這2個元件,sonarqube解壓後目錄如下:

代碼分析平台Sonarqube的簡單使用

在檔案夾conf裡面有個sonar.properties,我們可以配置下資料庫資訊和web ui登入的資訊,高版本的已經預設不支援MySQL了:

代碼分析平台Sonarqube的簡單使用

使用如下指令,可以對sonarqube進行啟動、停止、狀态查詢等操作:

./bin/linux-x86-64/sonar.sh { console | start | stop | restart | status | dump }

啟動後通路端口是9000:

代碼分析平台Sonarqube的簡單使用

此時服務端已經搭建好了,要排除小弟sonar-scanner去各個項目組檢查工作,并收集資料了,下載下傳sonar-scanner-cli-version-windows.zip,解壓後檔案結構如下:

代碼分析平台Sonarqube的簡單使用

更改conf中sonar-scanner.properties中的資料庫配置以及該小弟的所屬大哥(服務端配置):

代碼分析平台Sonarqube的簡單使用

把sonar-scanner的bin目錄配置到系統的環境變量中,Windows系統在cmd中輸入如下指令:

代碼分析平台Sonarqube的簡單使用

配置成功!在需要被掃描的項目的根目錄下:建立sonar-project.properties檔案:

代碼分析平台Sonarqube的簡單使用

然後就可以執行mvn clean package指令進行打包,在cmd中進入該項目的根目錄下,執行指令:sonar-scanner進行代碼檢查:

代碼分析平台Sonarqube的簡單使用
代碼分析平台Sonarqube的簡單使用

此時打開sonarqube的web ui界面,就會發現剛才的檢查結果已經傳回來了:

代碼分析平台Sonarqube的簡單使用

繼續閱讀