前言
通过SonarScannerCli调用SonarQube进行代码检测
准备工作
下载客户端程序
1 2 3 4 5 6
| wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.0.2311-linux.zip unzip sonar-scanner-cli-4.6.0.2311-linux.zip rm sonar-scanner-cli-4.6.0.2311-linux.zip mv sonar-scanner-4.6.0.2311-linux sonar-scanner-cli # 临时引入环境变量 export PATH=$PATH:/etc/dockerfile/SonarQube/sonar-scanner-cli/bin
|
修改客户端配置
sonar.host.url
:配置SonarQube服务URL sonar.sourceEncoding
:配置字符编码集
sonar-scanner-cli/conf/sonar-scanner.properties1 2 3 4 5
| #----- Default SonarQube server sonar.host.url=http://127.0.0.1:9000
#----- Default source code encoding sonar.sourceEncoding=UTF-8
|
在SonarQube生成Token
进行代码检测
project
:项目根目录 sonar.sources
:指定项目根目录 sonar.projectname
:指定本次检测的任务名称(用于备注) sonar.projectKey
:指定本次检测的任务名称(绝对唯一的名称) sonar.login
:指定SonarQube用户的Token
1 2
| cd project sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=project -Dsonar.projectKey=project -Dsonar.login=<token>
|
sonar.login
:指定SonarQube用户名 sonar.password
:指定SonarQube密码
1 2
| cd project sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=project -Dsonar.projectKey=project -Dsonar.login=<username> -Dsonar.password=<password>
|
Java项目
sonar.java.binaries
:指定编译后的jar包目录
1 2
| cd project sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=project -Dsonar.projectKey=project -Dsonar.login=<token> -Dsonar.java.binaries=./target/
|
完成
参考文献
哔哩哔哩——云原生技术架构