一、初始化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。
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.6.0.1398</version>
</plugin>
(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-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
参数说明:
(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目录下的所有文件即可。