本文主要說明Sonar的安裝方式並附上依賴安裝包,本文目標只實現本地搭建測試的Sonar環境,以及本地的測試項目的非定制化掃描
本機測試環境:Win10-X64,.vs2017
依賴包:
1.SDK Java的東東
2.sonarqube 靜態代碼檢查工具,B/S
3.sonar-scanner-msbuild 真正的代碼掃面工具
Soanr的代碼檢測的實現機制,就是通過客戶端的工具對代碼進行掃描,然后發送到 sonarqube,然后進行結果報告查看
開始安裝:
1.首先安裝SDK,安裝完成之后,配置相應的path環境變量,打開cmd輸入java,如下圖代表安裝成功:
2.安裝Sonar
下載Sonar ,下載地址 :https://www.sonarqube.org/downloads/
解壓下載包之后,執行 bin\windows-x86-64\StartSonar.bat
如上圖,代表啟動成功,瀏覽器輸入:http://localhost:9000/ 即可訪問,已經默認內置了管理員賬號:admin / admin
3.配置中文包
如何打開配置中文包呢?
安裝之后需要重啟才能生效
如何強制停止sonar服務呢? 打開任務管理器,關閉 Java進程
4.安裝包 sonar-scanner-msbuilld
canner包就是真正進行代碼掃面的工具包
下載后解壓至任意目錄即可,這里直接放到了c:\sonar
開始使用
1.新建項目
填寫項目的關鍵信息即可,選擇項目開發語言
2.掃描項目三部曲
這里的三步曲就是sonar新建項目中的最后步驟的掃描教程,分為三步
1.配置環境變量,也就是下載的Sonar-Canner-Msbuild 中 SonarScanner.MSBuild.exe的位置
2.進行項目解決方案所在的目錄,也就是 sln 文件所在目錄,打開cmd命令 執行如下命令,下面的命令是根據創建項目時生成的需要復制出來
a.SonarScanner.MSBuild.exe begin /k:"Mytest" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="d8fb95b33c46b1a755e9f93ca0ee62e7bb36591b"
b.MsBuild.exe /t:Rebuild
c.SonarScanner.MSBuild.exe end /d:sonar.login="d8fb95b33c46b1a755e9f93ca0ee62e7bb36591b"
執行效果如下:
如果MsBuild.exe /t:Rebuild 報錯,需要解決項目中的問題,這是編譯報錯,下圖為編譯成功,且報告已經上傳到SonarQube ,可以到 http://localhost:9000 查看具體報告
3.查看項目掃描報告
查看報告
這里提供一個批處理,配合上述的放入c:\sonar,使用如下命令即可一部完成代碼分析並上報, 新建sonar.bat文件,copy如下命令,將soanr.bat放入項目sln目錄中,雙擊運行即可
echo off c:\sonar\SonarScanner.MSBuild.exe begin /k:"項目名稱需要替換" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="項目Key,創建項目時生成,需要復制"
::編譯代碼 set "msbuildPath=" set "msbuildPath14=%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe" set "msbuildPath15=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\msbuild.exe" if exist "%msbuildPath14%" set "msbuildPath=%msbuildPath14%" if exist "%msbuildPath15%" set "msbuildPath=%msbuildPath15%" if "%msbuildPath%" == "" goto nomsbuild "%msbuildPath%" /t:Rebuild c:\sonar\SonarScanner.MSBuild.exe end /d:sonar.login="d8fb95b33c46b1a755e9f93ca0ee62e7bb36591b" echo 掃描完成 pause :nomsbuild echo 沒有找到MSBUILD pause :exit