一篇帶給你SonarQube部署及代碼質(zhì)量掃描
一、初始化SonarQube Token
點擊 右上角賬號 -> 下拉選擇 我的賬號 -> 點擊 安全選項,輸入 令牌名稱 -> 點擊 生成 或者 直接訪問這個地址http://10.10.10.144:9000/account/security/。
生成之后記得復制并保存Token,不然頁面刷新或者關(guān)閉后就無法查詢到Token了。
二、掃描項目示例
如果通過sonar-scanner進行代碼掃描的話需要下載sonar-scanner的安裝包,如果通過maven或者sonarlint進行則不需要。
1、Maven掃描并提交到SonarQube
(1)修改pom.xml文件
修改build節(jié)點,增加sonar-maven-plugin。
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.6.0.1398</version>
</plugin>
(2)掃描并提交
- 執(zhí)行掃描命令
進入項目根目錄 cd sonardemo,執(zhí)行下面命令。
mvn sonar:sonar -Dsonar.projectKey=com-luck-framesimple -Dsonar.host.url=http://10.10.10.144:9000 -Dsonar.login=39c67d30e2dae9181cc3160fbdb7b578d09f89c1
注意事項:
Dsonar.host.url:SonarQube訪問地址。
Dsonar.login:SonarQube生成的令牌。
(3)查看掃描結(jié)果
- 掃描完成訪問 http://10.10.10.144:9000 查看掃描結(jié)果。
- 點擊項目名字可以查看掃描詳情。
2、SonarScanner掃描并提交到SonarQube
(1)下載 SonarScanner
- Sonar-scanner 工具是對源碼進行掃描,并將結(jié)果保存到數(shù)據(jù)庫以便用上面的sonarqube進行分析.
- 下載地址:https://docs.sonarqube.org/latest/analyzing-source-code/scanners/sonarscanner/。
- 解壓到某個目錄。
解壓目錄為:D:\BaiduNetdiskDownload\sonar-scanner-4.8.0.2856-windows。
(2)配置SonarScanner環(huán)境變量
配置 SonarScanner 文件的 bin 目錄地址,配置到環(huán)境變量中。
配置完成后,在控制臺驗證,使用命令 sonar-scanner -h。
(3)配置SonarScanner文件
進入sonar-scanner-4.8.0.2856-windows\conf目錄,打開 sonar-scanner.properties 文件,修改 sonar.host.url信息
(4)創(chuàng)建項目掃描配置文件
掃描項目前,需要在項目根目錄創(chuàng)建掃描文件 sonar-project.properties。
sonar.projectKey=com-luck-framesimple-parent
sonar.projectName=com-luck-framesimple-parent
sonar.projectVersion=1.0
# sources code path
sonar.sources=.
# binaries code path
sonar.java.binaries=.
#sonar.java.binaries=src
#sonar.sources=src
#sonar.exclusions=**/test/**,**/target/**,*.xml
sonar.java.source=1.8
sonar.java.target=1.8
#sonar.libraries=module2/lib
sonar.language=java
# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8
sonar.scm.disabled=true
參數(shù)說明:
(5)掃描并提交
- 執(zhí)行掃描命令
創(chuàng)建配置文件后,可以在目錄中打開控制臺,輸入命令 sonar-scanner -Dsonar.login=myAuthenticationToken
sonar-scanner -Dsonar.login=39c67d30e2dae9181cc3160fbdb7b578d09f89c1
(6)查看掃描結(jié)果
- 掃描完成訪問 http://10.10.10.144:9000 查看掃描結(jié)果。
- 點擊項目名字可以查看掃描詳情。
三、掃描報表介紹
四、注意事項
- SonarQube Unsupported JDBC driver provider: mysql。
SonarQube 7.9以上版本已不再支持MySQL數(shù)據(jù)庫。 - SonarQube啟動報錯:WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti
刪除sonarqube temp目錄下的所有文件即可。