应用 SonarQube 源文件排除

应用 SonarQube 源文件排除

使用 SonarQube 9.6.0,

我有一个文件frontend/frontendUI/src/services/mock-data.ts,正如其名称所示,其中包含大量快速而粗糙的模拟数据,这些数据实际上没有任何意义或不符合特定的风格。

我想跳过 SonarQube 对这个文件的分析——事实上,还有其他几个也名为“mock-*”的文件的分析。

为此,我发现本相应部分手册内容:

项目级别

项目设置 > 常规设置 >分析范围 > A. 文件排除

  • 源文件排除:一个或多个通配符模式,定义从 定义的文件中过滤掉哪些文件sonar.sources。也可以使用 键在配置文件中设置sonar.exclusions

在屏幕上,我可以这样做,这是显示的通配符定义:

您可以使用以下通配符。[...]
* 匹配零个或多个字符
** 匹配零个或多个目录
? 匹配单个字符

我继续尝试了以下输入方式:

  • **/mock-*- 这个很理想。
  • **/mock-data.ts
  • frontend/frontendUI/src/services/mock-data.ts- 这是直接从文件中的报告中复制的。

每次我保存后都重新运行分析。但都不起作用——之前报告的问题仍然存在。

不过,查看我的扫描仪示波器,我发现输入的值已成功应用。以下是我第二次尝试的相关值(据我所知):

Project server settings:
- sonar.exclusions=**/mock-data.ts,frontend/frontendUI/src/services/mock-data-backend-service.ts
Project scanner properties:
- sonar.exclusions=**/*pb.go,**/dist/**
- sonar.inclusions=**/*.go,**/*.ts
- sonar.sources=gocode,frontend

...现在,我尝试使用“忽略多个标准的问题”配置:

  • 规则关键模式:*
  • 文件路径模式:(**/mock-*上面的理想模式)

这次,重新运行后该文件中的所有先前的报告(以及以“mock-”开头的其他报告)都按预期消失了!

尽管这是一个可行的解决方法,但我宁愿使用预期的工具。

如何正确使用“源文件排除”

相关内容