使用sonar-scanner扫描项目时,需要在扫描项目中添加sonar-project.properties文件,进行相关配置。
这些配置具体是什么意思?
# 定义唯一的关键字
sonar.projectKey=devops-hello-service
# 定义项目名称
sonar.projectName=My project
# 定义项目的版本信息
sonar.projectVersion=1.0
# 指定扫描代码的目录位置(多个逗号分隔,java项目源代码一般在src目录下面)
sonar.sources=.
# 执行项目编码
sonar.sourceEncoding=UTF-8
# 指定扫描java语言,如果不指定,则扫描目录下存在的全部
sonar.language=java
# 扫描java项目时,指定编译文件所在目录,不指定该目录会报错
sonarjava.binaries=target/classes
一个项目带多个src目录,怎么配置扫描路径
假如目录如下:
MySrcFolder
src1
src2
src3
src4
您只能使用sonar.sourcesproperty 或sonar.exclusionsandsonar.inclusions属性来执行此操作。
例子:
MySrcFolder
src1
src2
src3
src4
如果只想分析src1和src3,则如下配置:
sonar.sources=MySrcFolder/src1,MySrcFolder/src3
或者:
sonar.sources=MySrcFolder
sonar.exclusions=src2/**,src4/**
或者:
sonar.sources=MySrcFolder
sonar.inclusions=src1/**,src3/**
以下规则适用于exclusions和inclusions属性:
* Match zero or more characters
** Match zero or more directories
? Match a single character
file: Prefix to define a pattern based on absolute path
参考:
https://stackoverflow.com/questions/23443974/sonar-project-properties-file
https://www.jianshu.com/p/db0665e15ddf
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
https://docs.sonarqube.org/latest/analysis/analysis-parameters/