- 環境要求:windows 10,SonarQube 6.6,JDK 1.8,MySQL 5.7,sonar-scanner 3.3
- SonarQube下載頁面:https://www.sonarqube.org/downloads/
- SonarQube中文文檔:https://legacy.gitbook.com/book/revolyw/sonarqube/details
- SonarQube:能夠提供對代碼的一整套檢查掃描和分析功能,擁有一套服務器端程序,然后再通過客戶端或者別的軟件的插件的形式完成對各開發環境和軟件的支持
- 注意:對於掃描C#代碼,SonarQube 7.1和SonarQube 7.7沒有成功,所以降低版本下載SonarQube 6.6
- 運行SonarQube 6.6:下載SonarQube 6.6之后,到解壓目錄下的bin\windows-x86-64目錄中,雙擊StartSonar.bat,就能啟動SonarQube;打開瀏覽器,輸入http://localhost:9000,如果能夠進入界面則證明安裝成功
- 安裝數據庫MySQL 2.7:對於SonarQube對數據庫MySQL的版本支持為 >=5.6 && <8.0,對於其他數據庫的版本支持可查看sonarqube-6.6\conf\sonar.properties文件;並創建數據庫sonar
- 進行sonarqube配置:sonarqube-6.6\conf\sonar.properties文件
1 sonar.jdbc.username=root # 數據庫用戶名 2 sonar.jdbc.password=123456 # 數據庫密碼 3 # 數據庫連接地址 4 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false 5 sonar.sorceEncoding=UTF-8 # 設置編碼格式為UTF-8 6 sonar.login=admin # sonarqube的登錄名 7 sonar.password=admin # sonarqube的密碼 8 sonar.web.host=0.0.0.0 # 9 sonar.web.port=9100 # 修改snoar端口,默認為9000
- 漢化SonarQube:中文插件地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/,注意對應版本下載,下載之后,拷貝到sonarqube-6.6\extensions\plugins目錄下
- 新建掃描代碼項目:登錄SonarQube網址http://localhost:9100,賬號admin密碼admin,然后新建項目CS-project
1 Key=ce532a92558fa41465ea97dbb5f1a42673d9b67e
- sonar-scanner 3.3下載:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner,“Runner”是“Scanner”的舊名稱
- 添加環境變量:對環境變量path添加C:\Tool\sonar-scanner-3.3.0.1492-windows\bin的路徑
- cmd測試:輸入sonar-scanner -v,測試環境變量是否配置正確

- 修改配置文件:sonar-scanner-3.3.0.1492-windows\confsonar-scanner.properties
1 sonar.host.url=http://localhost:9000 # sonarqube服務地址 2 sonar.jdbc.username=root # 數據庫用戶名 3 sonar.jdbc.password=123456 # 數據庫密碼 4 # 數據庫連接地址 5 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false 6 sonar.sorceEncoding=UTF-8 # 設置編碼格式為UTF-8 7 sonar.login=admin # sonarqube的登錄名 8 sonar.password=admin # sonarqube的密碼
- 配置sonar-project.properties文件:進入C#項目的根目錄,新建sonar-project.properties文件
1 # must be unique in a given SonarQube instance 2 sonar.projectKey=CS-project 3 # this is the name displayed in the SonarQube UI 4 sonar.projectName=CS-project 5 # 自定義版本號 6 sonar.projectVersion=1.0.0.0 7 8 # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. 9 # Since SonarQube 4.2, this property is optional if sonar.modules is set. 10 # If not set, SonarQube starts looking for source code from the directory containing 11 # the sonar-project.properties file. 12 sonar.sources=. 13 14 # Encoding of the source code. Default is default system encoding 15 sonar.sourceEncoding=UTF-8 16 # C# => "cs" 17 # CSS => "css" 18 # SCSS => "scss" 19 # Less => "less" 20 # Java => "java" 21 # Web => "web" 22 # XML => "xml" 23 # JSON => "json" 24 # JavaScript => "js" 25 sonar.language=cs
- 掃描代碼:cmd切換到項目的根目錄,輸入sonar-scanner,然后進入http://localhost:9100/projects
