【问题标题】:Azure DevOps Release Pipeline: Want to Fail The Gate But Not Fail The Stage to not seek ApprovalAzure DevOps 发布管道:想要失败但不能失败而不寻求批准
【发布时间】:2019-07-08 17:08:37
【问题描述】:

我有一个正在部署包的“QA”阶段,部署后我获得了部署后批准。当包是发布包时,我只想通知“UAT Post-Deployment Approvers”组。我使用 GitVersion 和 Git Tags 来标记 git 提交。由于我添加了分支过滤器“refs/tags/v*”,构建管道将使用 Git Tag 事件自动构建源代码。我之前在 Pre-Approval 端也使用了 Release Pipeline 中的 Artifact Filters 来防止进入和触发 Pre-Approvers 通知来查找“refs/tags/v*”,但这次我想在 Post 上进行过滤-批准方。

有没有办法在成功部署之后但在批准后进行过滤,这样该阶段就不会显示为失败?为什么? 因为部署成功,现在我希望发布管道停止并且不再继续。我不想要求部署后批准。 我当前拥有的 Gate 检查(Azure 功能)将返回失败,因此将失败整个阶段(我不想要的),然后不要求部署后批准(我确实想要)。或者有没有办法在门检查失败后将舞台设置为成功?或者,也许设置一个 Jobless Agent 步骤来停止处理?

【问题讨论】:

    标签: azure-devops azure-functions azure-pipelines-release-pipeline


    【解决方案1】:

    有没有办法在成功部署之后过滤,但在部署之前 批准后,以便该阶段不会显示为失败?或是 在 Gate Check 失败后,有没有办法让 Stage 成功?

    对于这些问题,恐怕在azure devops中是不可能做到的。如果你在stage中设置了Gates和Post-deploymentapproves,只有两个条件都满足,stage才会显示成功。如​​果这两个条件之一没有通过,该阶段将显示为失败。

    此外,在成功部署之后,但在 Post-Approval 之前,阶段显示状态为待批准,而不是失败。

    【讨论】:

    • 这就是 ADO 的特点,它是一个很棒的工具,我一直都在支持它,但我的能力有限,除了通过 PowerShell 脚本或我拥有的 Market Place 扩展创建的。我必须提交一个请求并等待是否有人会让我的愿望清单成真。这是另一个很好的用例,但我知道 MSFT 必须优先为大多数客户做最好的事情。
    • 最好有一个复选框来询问“在门失败时失败 [阶段]?”然后默认勾选。然后保留所有与当前存在的规则相同的规则(在批准之前或之后运行)。如果存在门超时,默认情况下它已经失败,并且已经检查了接受什么作为成功标准,因此这已经是一个过程。只需使用该复选框扩展它即可继续停止并将其保留为成功,或者如果 Gate 失败则将其标记为失败。
    猜你喜欢
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-25
    • 2020-01-30
    相关资源
    最近更新 更多