SonarQube是管理代碼質量一個開放平臺,能夠快速的定位代碼中潛在的或者明顯的錯誤。html
SonarQube是否可使用自定義規則由開發人員的開發語言所決定,詳見java
https://docs.sonarqube.org/display/DEV/Adding+Coding+Rulesgit
分析C#項目的步驟github
分析.NET解決方案能夠在命令行,Jenkins或TFS / VSO中完成。這是一個簡單快速的入門示例。有關詳細信息,請參閱: 使用SonarQube掃描儀分析MSBuild 或參考GitHub上的示例項目。sql
SonarScanner.MSBuild.exe begin /k:"org.sonarqube:sonar-scanner-msbuild" /n:"Project Name" /v:"1.0"<font></font>shell MSBuild.exe /t:Rebuild<font></font>數據庫 SonarScanner.MSBuild.exe endexpress |
按照分析結尾處提供的連接,在SonarQube UI中瀏覽項目的質量。windows
安裝jdk1.8版本或者更高版本。瀏覽器
http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html
計算機屬性》高級系統設置》高級》環境變量》系統變量,依次找到上圖中的界面。
添加服務器環境變量JAVA_HOME, 內容爲Java的安裝目錄。例如我這裏的安裝目錄爲C:\Program Files\Java\jdk-12
在服務器環境變量Path中添加Java bin的目錄,例如C:\Program Files\Java\jdk-12\bin
最後在dos窗口輸入java -version,回車顯示以下信息,即表示jdk已經安裝成功。
下載地址:https://www.sonarqube.org/downloads/
D:\sonar\sonarqube-6.3\sonarqube-6.3\bin\windows-x86-64\StartSonar.bat
sonarqube使用的數據庫類型可根據實際狀況進行配置。下面以sqlserver爲例:
在D:\工做軟件\sonarqube-7.7\conf\sonar.properties
打開寫入如下文本:
sonar.jdbc.username=sa
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:sqlserver://192.168.58.128;databaseName=sonar;SelectMethod=Cursor;instance=sqlexpress
sonar.login=admin
sonar.password=admin
下載地址:
1.打開D:\sonar\sonar-scanner-2.5\conf\sonar-runner.properties文件
寫入以下文本:
sonar.host.url=http://localhost:9000
sonar.jdbc.url=jdbc:sqlserver://192.168.58.128;databaseName=sonar;SelectMethod=Cursor;instance=sqlexpress
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
1.新建變量,name=SONAR_RUNNER_HOME。value=D:\sonar\sonar-scanner-2.8
2.打開path,輸入%SONAR_RUNNER_HOME%\bin;
3.在都是窗口輸入命令:sonar-runner -version,出現如下信息,則表示環境變量設置成功。
下載地址:https://github.com/SonarSource/sonar-scanner-msbuild/releases
注意:紅色框內的.NetFramework版本的代碼分析儀,藍色框內的.NetCore版本的代碼分析儀
下載下來後,解壓至合適的磁盤目錄便可。
1.新建變量,name=SONAR_RUNNER_MSBUILD_HOME。value=D:\工做軟件\sonar-scanner-2.8-MSbulid
2.打開path,輸入%SONAR_RUNNER_MSBUILD_HOME%;
打開D:\工做軟件\sonar-scanner-2.8-MSbulid\SonarQube.Analysis.xml,
要修改的地方只是關於sonarQube服務器的一些配置,關於服務器URL、USER、PASSWORD等
注意,這裏的參數User/PassWord是登錄sonarQube平臺的用戶名和密碼,請不要與sonarQube的數據庫的登錄用戶名和密碼搞混淆。
1.打開源代碼文件夾,例如」F:\test\ArasCheckItem\ArasCheckItem「,在當前的路徑打開cmd(按住Shift鍵並鼠標右鍵,點擊「在此處打開powershell窗口」),或者打開cmd窗口,並經過命令進入至該源碼根目錄(sln所在的目錄)
2.在打開的dos窗口中執行命令:
MSBuild.SonarQube.Runner.exe begin /k:"TestProject" /n:"MyTestProject" /v:"1.0"
以下圖所示,說明執行成功:
參數說明:
/key(簡寫k):對應projectKey即項目的惟一代碼,如兩套源代碼使用同一個projectKey那掃描的結果將混在一塊兒,因此一個項目須要有一個單獨的projectKey
/name(簡寫n):對應projectName即項目的名稱,爲項目的一個顯示的名稱,創建使用完整的項目名稱
/version(簡寫v):對應projectVersion即項目的版本,項目在不一樣的時期版本也是不同的,若是方便,能夠在sonarQube的服務器中查看到不一樣的版本代碼其中問題的變化
4.運行命令MSBuild.exe,這個MSBuild是系統安裝過VS後會存在的一個編譯器,以Visual Studio 2017爲例,地址是:C:\Program Files (x86)\MSBuild\14.0\Bin
在DOS窗口中執行命令:"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" /t:Rebuild (這裏的參數/t若是不指定也是能夠掃描出來的)。若是上面的命令不能執行成功,能夠按照如下步驟解決問題:(1)在系統變量裏面,打開path,輸入C:\Program Files (x86)\MSBuild\14.0\Bin\,而後保存;(2)回到dos窗口,輸入命令MSBuild.exe /t:Rebuild,而後回車等待命令執行完成便可。出現下圖,則表示執行成功:
5.在dos窗輸入命令MSBuild.SonarQube.Runner.exe end,回車等待執行結果。出現下圖,則表示執行成功: