使用 .net 核心声纳扫描仪将声纳结果发布到 tfs 构建

Posted

技术标签:

【中文标题】使用 .net 核心声纳扫描仪将声纳结果发布到 tfs 构建【英文标题】:publish sonar results to tfs build with .net core sonar scanner 【发布时间】:2019-01-22 01:42:23 【问题描述】:

我在 Docker 容器中运行 .net 核心的声纳扫描仪:

这是我在 docker 容器中安装扫描仪的方法(DockerFile 和 howTo):

ENV SONAR_SCANNER_MSBUILD_VERSION 4.3.1.1372
RUN apt-get install -y unzip \
    && wget https://github.com/SonarSource/sonar-scanner-msbuild/releases/download/$SONAR_SCANNER_MSBUILD_VERSION/sonar-scanner-msbuild-$SONAR_SCANNER_MSBUILD_VERSION-netcoreapp2.0.zip \
    && unzip sonar-scanner-msbuild-$SONAR_SCANNER_MSBUILD_VERSION-netcoreapp2.0.zip -d /sonar-scanner \
    && rm sonar-scanner-msbuild-$SONAR_SCANNER_MSBUILD_VERSION-netcoreapp2.0.zip \
    && chmod +x -R /sonar-scanner

这是我扫描项目的方式:

dotnet /sonar-scanner/SonarScanner.MSBuild.dll begin /k:sonarProjectKey /d:sonar.host.url="<SonarQubeServerUrl:Port>" /d:sonar.login="<SonarQubeServerToken>"
dotnet build
dotnet /sonar-scanner/SonarScanner.MSBuild.dll end  /d:sonar.login="<SonarQubeServerToken>"

我现在如何将声纳分析的结果发布回 TFS 构建?

如果质量门是红色的,我该如何破坏构建?

【问题讨论】:

此处不允许第三方来源。 修复了这条评论并删除了指向 github 的链接 在您更新后更改了我的评分 【参考方案1】:

使用 VSTS/TFS 分析项目的最简单方法是使用我们的扩展: https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Extension+for+VSTS-TFS

它会自动将结果发布回 TFS 构建,但当质量门为红色时,无法中断构建。它曾经允许破坏构建,但该功能已从 4.0 版中删除。

请阅读文章了解详细信息。

【讨论】:

感谢您的回答,但我无法使用该扩展,因为我们使用的是较旧的 TFS 版本并在 ubuntu 下构建。有发布结果的命令吗? 据我所知没有内置任何东西。

以上是关于使用 .net 核心声纳扫描仪将声纳结果发布到 tfs 构建的主要内容,如果未能解决你的问题,请参考以下文章

将 Jacoco 代码覆盖率发布到声纳的命令

使用单体项目的 Spotbugs 规则运行声纳扫描仪时出错?

将 project.properties 文件传递​​给声纳扫描仪

Sonarqube 与声纳扫描仪

声纳 - 在声纳扫描期间是不是可以跳过 JavaSquidSensor 和 Findbugs Sensor?

如何使用声纳扫描仪扫描字节码