如何在SonarQube配置文件中仅分析repo/src目录下的.py文件?
SonarQube 筛选Python文件配置错误分析及解决方案
操作错误与理解误区
- 错误地将文件匹配规则直接写在
sonar.sources中:sonar.sources的核心作用是指定扫描的根目录,而非直接筛选文件后缀。你写的repo/src/**/*.py或repo/src/**.py会被SonarQube当作目录路径解析,自然无法定位到正确的文件。 - 混淆了
sonar.sources和sonar.inclusions的职责:前者定义扫描的目录范围,后者才是用来筛选要包含的文件类型/路径的配置项。
正确配置方案
要实现仅分析repo/src下的.py文件,需要同时配置两个参数:
- 指定扫描根目录:
sonar.sources=repo/src - 筛选仅包含Python文件:
sonar.inclusions=**/*.py
如果是通过命令行扫描,也可以直接传递参数:
sonar-scanner -Dsonar.sources=repo/src -Dsonar.inclusions=**/*.py
补充说明
sonar.inclusions中的**/*.py表示匹配repo/src目录下所有层级的.py文件,完全符合你的需求。- 若存在需要排除的文件/目录,可以搭配
sonar.exclusions进一步缩小范围,但当前场景下不需要。
内容的提问来源于stack exchange,提问作者AlexB
相关产品推荐
相关产品推荐

