【问题标题】:How to handle errors in Azure DevOps pipelines in yaml?如何在 yaml 中处理 Azure DevOps 管道中的错误?
【发布时间】:2021-12-23 20:47:24
【问题描述】:

在 Azure DevOps 中,我在 yaml 文件中有一些管道,它们在 Terraform 和 Powershell 中执行任务以在 Azure 中部署基础架构。

如果部署期间出现错误,我想触发默认操作(例如打印默认错误消息或删除某些内容等),无论错误来自 Terraform 脚本还是 Powershell。

我认为Yaml文件可以处理这个动作,但是怎么做呢?

【问题讨论】:

    标签: azure-devops event-handling yaml azure-pipelines script


    【解决方案1】:

    您可以通过在部署作业结束时添加一个带有特殊条件的任务来执行此操作,以确保它仅在管道失败时运行; the docs explain the use of these kinds of condition:

    您可以指定运行步骤、作业或阶段的条件。

    • 仅当所有先前与同一代理池的依赖关系都成功时。如果您有不同的代理池,那些阶段或工作 将同时运行。如果没有条件,这是默认值 在 YAML 中设置。
    • 即使之前的依赖失败了,除非运行被取消。对于这种情况,请在 YAML 中使用 succeededOrFailed()
    • 即使先前的依赖已失败,即使运行被取消。对于这种情况,请在 YAML 中使用 always()
    • 仅当以前的依赖项失败时。对于这种情况,在 YAML 中使用 failed()

    【讨论】:

      猜你喜欢
      • 2022-11-14
      • 2022-11-05
      • 2020-05-23
      • 2020-05-28
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 2020-05-19
      • 2019-05-14
      相关资源
      最近更新 更多