SonarQube目录排除vNext组件问题

时间:2016-11-03 02:34:37

标签: sonarqube sonarqube-scan

我在SonarQube中排除了一些困难。我还没有真正看到这里发布的这种特殊情况,并且在排除相关问题中提出的一些其他解决方案尚未解决问题。任何见解都会非常感激。

我一直在和一位工程师一起过滤SonarQube在构建期间从他们的项目中分析的文件。他们的解决方案是通过vNext构建构建的,其中TFS和构建服务器在本地托管。 SonarQube也在本地托管。构建使用vNext附带的Sonar组件进行分析。该项目主要是C#。

该解决方案主要包含该解决方案独有的项目,但有一些项目引用完全属于另一个应用程序的一部分。因此,工作空间映射必须从源控件的2个独立部分获取文件。此外,由于解决方案正在寻找项目的方式(基于解决方案文件本身的属性),我必须以特定方式映射源控制文件。在较高级别,构建服务器上的工作空间如下所示:

enter image description here

在声纳设置文件中,工作目录设置为构建源文件夹

工程师希望从分析中排除特定目录中的代码文件。例如,他们想要从B.Srvc中的文件夹X中排除所有cs文件。因此,该目录将是Build Source Directory / B / Source / B.Srvc / X.根据SonarQube网站上的排除说明,听起来我只需要做这样的事情:

sonar.exclusions=Build Source Directory/B/Source/B.Srvc/X/**/*.cs

当我这样做时,它仍然分析该文件夹中的文件。我尝试了各种其他模式组合,如:

sonar.exclusions=Build Source Directory/B/Source/B.Srvc/X/*.cs
sonar.exclusions=**/X/**/*.cs
sonar.exclusions=B/Source/B.Srvc/X/**/*.cs
sonar.exclusions=**/B/Source/B.Srvc/X/**/*.cs

我甚至试过提供完整的目录路径(所以,C:/ agent / _work / 25 / src / ...),但这也不起作用。

非常广泛的排除项如** / *名称* .cs工作得很好,但如果我想开始排除某些目录中的文件,我就无法开始工作。

我觉得我错过了一些非常基本的东西,但我无法弄明白。我有空的时候,我一直试图解决这个问题一段时间,但我还没有取得任何进展。如果有人能提供任何见解,我将非常感激。如果您需要任何其他信息,请告诉我们。

1 个答案:

答案 0 :(得分:1)

在SonarQube界面中,查看要排除的其中一个文件。在顶部,您将看到SonarQube理解它的文件路径。当您通过UI输入 而不是分析设置时,您希望使用此路径。

由于排除属性的结构,它们非常非常难以在分析属性中正确设置。这是为什么这样做没有记录。

相反,您应通过用户界面输入排除