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

publish sonar results to tfs build with .net core sonar scanner

我在 Docker 容器中有用于 .net core 运行 的声纳扫描仪:

以下是我在 docker 容器中安装扫描仪的方法(Docker文件和方法):

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 构建?

如果质量门是红色的,我怎样才能破坏构建?

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

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

请阅读文章以获取详细信息。