如果SonarQube失败质量门,则VSTS构建失败

时间:2016-02-08 21:46:33

标签: sonarqube azure-devops

我们使用 VSTS 构建标准 SonarQube 构建步骤:

  • 用于MsBuild的SonarQube - 开始分析
  • ... build
  • SonarQube for MsBuild - 结束分析

构建后的一段时间我可以在SonarQube中看到分析结果 - 无论是通过还是失败质量门。 但即使质量门失败,VSTS构建也会成功。

如果quility gate失败,有没有办法让VSTS构建失败?

以下: http://docs.sonarqube.org/display/SONAR/Breaking+the+CI+Build 我尝试过查找 report-task.txt 文件,但我无法在任何地方看到它。

我可以运行 MSBuild.SonarQube.Runner.exe 作为命令行构建步骤,如下所述: http://docs.sonarqube.org/display/SONAR/Analyzing+with+SonarQube+Scanner+for+MSBuild#AnalyzingwithSonarQubeScannerforMSBuild-AnalyzingfromtheCommandLine

但我认为我应该首先尝试SonarQube的标准构建步骤

2 个答案:

答案 0 :(得分:3)

这是一个链接,无法使用5.3或更高版本的质量门违规构建,它使用SonarQube for MSBuild - 开始分析任务

https://blogs.msdn.microsoft.com/visualstudioalm/2016/02/11/use-sonarqube-quality-gates-to-control-your-visual-studio-team-services-builds/

此更新任务不适用于TFS 2015 Update 1,但可在Update 2 RC1和VSTS(VSO)中使用。

此致 韦斯

答案 1 :(得分:1)

如果声纳质量门失灵,我也有要求无法通过Build。在声纳显示任务之后,我确实创建了Power Shell任务。这是查找状态的脚本:

    private static DocumentClient InitializeDocumentClient()
    {

        string connectionString = ConfigurationManager.AppSettings["CosmosTest"];
        string[] connectionStringParts = connectionString.Split(';');
        Uri clientUrl = new Uri(connectionStringParts[0].Split('=')[1]);
        int keyStartPosition = connectionStringParts[1].IndexOf('=') + 1;
        string clientKey = connectionStringParts[1].Substring(keyStartPosition, connectionStringParts[1].Length-keyStartPosition);
        return new DocumentClient(clientUrl, clientKey, connectionPolicy);
    }