如何从Jenkins的“用于MSBuild-Begin Analysis的SonarQube扫描仪”插件中排除几个.NET项目

时间:2018-10-25 11:06:58

标签: c# jenkins sonarqube sonarqube-scan

我们有一个Visual Studio解决方案,其中包含10多个项目,包括ASP.NET Web项目。创建了一个Jenkins Jobs并配置了SonarQube以显示代码覆盖率指标,并且该作业成功运行。

当尝试使用以下参数在计算代码覆盖率指标(不包括ASP.NET Web项目)时缩小关注范围时,出现错误-

sonar.exclusions =“ \ ASP.NET项目名称*

错误 -无法识别的命令行参数:sonar.exclusions = \ *

已经推荐了Narrowing the FocusExcluding projects from the MSBuild Runner without changing csproj files

任何人都可以用实际的语法提出建议-如何从Jenkins的“ SonarQube Scanner for MSBuild- Begin Analysis”插件中排除项目

谢谢!!任何潜在客户都很感激

1 个答案:

答案 0 :(得分:2)

尝试使用/d:sonar.exclusions=<value>。 Jenkins中的文本框需要用于MSBuild的Scanner的命令行参数,格式为/d:<sonar.property>=<value>

sonar.exclusions属性不是很直观,因为过滤器是针对每个项目分别应用的,并且相对于项目根目录而不是解决方案根目录(并且您无法使用..返回到解决方案)...

从分析中排除单个项目的更好选择是将以下内容放入.csproj文件本身中:

<PropertyGroup> <!-- Exclude the project from analysis --> <SonarQubeExclude>true</SonarQubeExclude> </PropertyGroup>