文章目录
- 1、下载安装
- 1.1、SonarQube下载
- 1.2、SonarQube安装
- 1.3、SonarQube中文汉化
- 1.4、SonarScanner扫描器
- 2、扫描项目
- 2.1、java代码扫描
- 2.2、php代码扫描
1、下载安装
SonarQube负责存储代码数据、收集数据、分析代码和生成报告等。
1.1、SonarQube下载
下载地址:https://www.sonarsource.com/products/sonarqube/downloads/
本文下载9.9LTS版本:sonarqube-9.9.1.69595.zip
1.2、SonarQube安装
官方安装使用教程:https://docs.sonarsource.com/sonarqube/latest/try-out-sonarqube/
- 1、sonarqube-9.9.1.69595.zip版本需要JDK 17
- 2、解压后,命令行进入对应的目录
# Windows系统, 执行命令:StartSonar.bat
D:\sonarqube\bin\windows-x86-64\StartSonar.bat
# 其它系统, 使用非root用户执行命令:sonar.sh
/opt/sonarqube/bin/<OS>/sonar.sh console
当前版本默认使用Elasticsearch作为内嵌数据库
- 3、访问地址:http://localhost:9000
默认帐号密码
login: admin
password: admin
1.3、SonarQube中文汉化
登录管理后台,菜单栏administrator -> marketplace,Plugins的输入框输入“chinese”,点击"install",安装完成后,会提示重启,重启后界面会自动变成中文版本。
1.4、SonarScanner扫描器
SonarScanner下载地址:https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarscanner/
SonarScanner负责扫描代码,并提交给Sonarqube,是在项目中没有特定扫描器时(java有Maven插件和Gradle插件)使用的扫描器。
SonarScanner下载后解压可用,需要把启动脚本配置到环境变量PATH中(windows:sonar-scanner.bat,Linux:sonar-scanner)
扫描参数可配置在项目根目录中sonar-project.properties
# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# --- optional properties ---
# defaults to project key
#sonar.projectName=My project
# defaults to 'not provided'
#sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Defaults to .
#sonar.sources=.
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
sonar-project.properties的参数也可以在运行时输入:
mvn clean verify sonar:sonar -Dsonar.projectKey=test_project -Dsonar.host.url=http://localhost:9000 -Dsonar.login=sqp_xxxxxxxx
2、扫描项目
本文以本地项目代码扫描为例
2.1、java代码扫描
- 1、选择手工创建项目
- 2、设置项目名称
- 3、选择本地分析项目
- 4、创建令牌,后边运行扫描器时使用这个令牌
- 5、构建技术选择"Maven"
到这一步就完成项目的创建了,下一步是启动扫描器,把源码提交给 SonarQube 分析。
Java代码扫描有两种方式
- 方式1、使用Maven 构建扫描
mvn clean verify sonar:sonar -Dsonar.projectKey=test_java -Dsonar.host.url=http://localhost:9000 -Dsonar.login=sqp_d02db1db74c3d45b6d3c582795fae73ea6de036f
- 方式2、使用sonar-scanner扫描器
sonar-scanner.bat -D"sonar.projectKey=test_java" -D"sonar.sources=." -D"sonar.host.url=http://localhost:9000" -D"sonar.login=sqp_d02db1db74c3d45b6d3c582795fae73ea6de036f" -D"sonar.java.binaries=*/*/target/*"
2.2、php代码扫描
PHP扫描项目创建的方式与Java项目类似,只是在第5步时选择“其他 (比如 JS,TS,Go,Python,PHP…)”
然后进入代码目录,php目前只能使用sonar-scanner扫描器:
sonar-scanner.bat -D"sonar.projectKey=test_php" -D"sonar.sources=." -D"sonar.host.url=http://localhost:9000" -D"sonar.login=sqp_e93d1d793b88a7fc4c8c551c25dcfe938c4d74c4"