Azure devops 从Azure DevOps中的强化扫描中排除测试项目

Azure devops 从Azure DevOps中的强化扫描中排除测试项目,azure-devops,fortify,Azure Devops,Fortify,我正在使用Fortify静态代码分析器评估插件,通过ADO管道提交Fortify扫描。管道首先构建解决方案,然后扫描它。在我的解决方案中有几个我想排除的单元测试项目,但我所看到的建议的解决方案似乎都不起作用。是因为我不能使用相对路径吗?以下是我在其他Fortify SCA构建选项中尝试的选项: -exclude "**/UnitTests/**/*" -exclude "**/UnitTests/*" -exclude "*/UnitTests/

我正在使用Fortify静态代码分析器评估插件,通过ADO管道提交Fortify扫描。管道首先构建解决方案,然后扫描它。在我的解决方案中有几个我想排除的单元测试项目,但我所看到的建议的解决方案似乎都不起作用。是因为我不能使用相对路径吗?以下是我在其他Fortify SCA构建选项中尝试的选项:

-exclude "**/UnitTests/**/*"
-exclude "**/UnitTests/*"
-exclude "*/UnitTests/*.*"
-exclude "**\UnitTests\*.*"
UnitTests是.Net解决方案中项目的名称。所有要排除的文件都直接位于该名称的文件夹下。

尝试以下操作:

-exclude "<dir>/**/UnitTests/**"
-排除“/**/UnitTests/**”

它匹配在命名目录中找到的路径中包含
UnitTests
的所有目录和文件,包括作为文件名的
UnitTests
。此外,在Windows上,您可以使用反斜杠()作为目录分隔符,而不是正斜杠(/)。

在“附加强化SCA构建选项”部分,尝试以下操作:

-exclude $(Build.SourcesDirectory)\UnitTests\ -exclude $(Build.SourcesDirectory)\**\UnitTests\
如果源目录中有空格,请使用引号。这应该忽略根文件夹(如果有)中的UnitTests文件夹以及子文件夹中的任何文件夹。我发现上一个
\
\**
更有效


参考:第123页-指定文件和目录

我应该提到,强化扫描结果显示没有排除任何文件,因为指定的文件模式与任何文件都不匹配。不幸的是,这不起作用。该命令是基于ADO中的存储库生成的。这是由管道生成的命令:sourceanalyzer.exe-b Build_83149。每次我们运行它时,这个版本号都会改变。@DZx:通常,我从ADO中克隆我的C代码,并使用与Fortify的版本集成。这使我能够更好地控制正在触发的命令。我的转换命令类似于:
sourceanalyzer-b-exclude-logfile MSBuild.exe
。对我来说很有魅力。构建ID每次都会改变。我需要看看是否可以把它作为一个变量,因为它应该在我们每次发布产品时运行。谢谢你的信息@DZx检查一下。
BuildID
BuildNumber
应该很好用。@DZx,你能解决这个问题吗?你能给你的问题贴个答案吗?这将帮助许多其他人面对同样的问题。很抱歉,花了这么长时间才回到这个问题上,它成功了!非常感谢!