如果通过Sonar-Scanner进行代码扫描的话需要下载Sonar-Scanner的安装包,如果通过Maven或者Sonarlint进行则不需要。


(资料图片)

一、初始化SonarQube Token

点击 右上角账号 -> 下拉选择 我的账号 -> 点击 安全选项,输入 令牌名称 -> 点击 生成 或者 直接访问这个地址http://10.10.10.144:9000/account/security/。

生成之后记得复制并保存Token,不然页面刷新或者关闭后就无法查询到Token了。

二、扫描项目示例

如果通过sonar-scanner进行代码扫描的话需要下载sonar-scanner的安装包,如果通过maven或者sonarlint进行则不需要。

1、Maven扫描并提交到SonarQube

(1)修改pom.xml文件

修改build节点,增加sonar-maven-plugin。

    org.sonarsource.scanner.maven    sonar-maven-plugin    3.6.0.1398

(2)扫描并提交

执行扫描命令进入项目根目录 cd sonardemo,执行下面命令。
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)查看扫描结果

扫描完成访问 http://10.10.10.144:9000 查看扫描结果。

点击项目名字可以查看扫描详情。

2、SonarScanner扫描并提交到SonarQube

(1)下载 SonarScanner

Sonar-scanner 工具是对源码进行扫描,并将结果保存到数据库以便用上面的sonarqube进行分析.下载地址:https://docs.sonarqube.org/latest/analyzing-source-code/scanners/sonarscanner/。解压到某个目录。解压目录为:D:\BaiduNetdiskDownload\sonar-scanner-4.8.0.2856-windows。

(2)配置SonarScanner环境变量

配置 SonarScanner 文件的 bin 目录地址,配置到环境变量中。

配置完成后,在控制台验证,使用命令 sonar-scanner -h。

(3)配置SonarScanner文件

进入sonar-scanner-4.8.0.2856-windows\conf目录,打开 sonar-scanner.properties 文件,修改 sonar.host.url信息

(4)创建项目扫描配置文件

扫描项目前,需要在项目根目录创建扫描文件 sonar-project.properties。

sonar.projectKey=com-luck-framesimple-parentsonar.projectName=com-luck-framesimple-parentsonar.projectVersion=1.0# sources code pathsonar.sources=.# binaries code pathsonar.java.binaries=.#sonar.java.binaries=src#sonar.sources=src#sonar.exclusions=**/test/**,**/target/**,*.xmlsonar.java.source=1.8sonar.java.target=1.8#sonar.libraries=module2/libsonar.language=java# Encoding of the source code. Default is default system encodingsonar.sourceEncoding=UTF-8sonar.scm.disabled=true

参数说明:

(5)扫描并提交

执行扫描命令创建配置文件后,可以在目录中打开控制台,输入命令 sonar-scanner -Dsonar.login=myAuthenticationToken
sonar-scanner -Dsonar.login=39c67d30e2dae9181cc3160fbdb7b578d09f89c1

(6)查看扫描结果

扫描完成访问 http://10.10.10.144:9000 查看扫描结果。

点击项目名字可以查看扫描详情。

三、扫描报表介绍

四、注意事项

SonarQube Unsupported JDBC driver provider: mysql。SonarQube 7.9以上版本已不再支持MySQL数据库。SonarQube启动报错:WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti删除sonarqube temp目录下的所有文件即可。

关键词: