等待Azure DevOps上的声纳Qube质量门

时间:2018-12-12 23:20:04

标签: sonarqube azure-devops azure-pipelines

我正在使用 Azure DevOps 上的YAML文件以代码形式创建管道,但是我有一个“小”阻止者;我不知道当质量门失败时如何破坏构建,在詹金斯上,这种选择是如此简单:

stage("Quality Gate") {
        steps {
          timeout(time: 1, unit: 'HOURS') {
            waitForQualityGate abortPipeline: true
          }
     }
 }

但是,如何在使用YAML的Azure DevOps上执行相同的操作?

非常感谢您。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用创建构建管道的UI方法来了解更多Yaml命令

对于一个实例,

在下面的用户界面中,控制选项可帮助您定义成功或失败构建的条件


条件:仅当所有先前的任务都成功完成

enter image description here

与此对应的yaml为

steps:
- task: DotNetCoreCLI@2
  displayName: 'dotnet build'

条件:即使先前的任务失败了。除非构建被取消

steps:
- task: DotNetCoreCLI@2
  displayName: 'dotnet build'

  condition: succeededOrFailed()

条件:即使先前的任务失败了。即使构建被取消

steps:
- task: DotNetCoreCLI@2
  displayName: 'dotnet build'

  condition: always()

像这样,您可以使用构建管道的UI方法找到所有yaml命令(或)语法

您可以通过以下方式转换用户界面-> Yaml

enter image description here

答案 1 :(得分:0)

您好开发者和开发者

我创建了一个小BashScript来在声纳质量门失败时中断构建,该构建可与任何语言,任何构建工具和任何CI服务器一起使用 https://github.com/carlosdeveloper10/wait-for-sonar-qg