【问题标题】:Azure Devops PR Deployment cancelled when changes are pushed to PR将更改推送到 PR 时取消 Azure Devops PR 部署
【发布时间】:2021-04-30 10:39:35
【问题描述】:

当新的更改被推送到 PR 时,我们的 PR 环境部署会被取消。我试图阻止这种情况,但无法找到确定的位置。

PR 环境部署设置为我们主分支上的可选分支策略。这将启动 PR 分支上的构建管道,该管道会生成一个工件,然后触发 PR 环境部署。 PR 构建部署是手动触发的。

为“拉取请求部署”设置 PR 作业预部署条件,并在构建工件的“发布后”触发。在管道上,启用了拉取请求触发器并启用了持续部署。

有趣的是,PR 构建不会被推送的更改取消,并且在构建期间推送更改不会阻止部署运行。只是一旦触发了部署,当更改推送到 PR 分支时立即取消。

【问题讨论】:

    标签: azure-devops


    【解决方案1】:

    通过关注此文档:Deploy pull request Artifacts with Azure Pipeline,我们可以设置 构建验证状态检查 对于主分支,新的拉取请求将触发新的构建,然后触发新的发布。我们可以看到同样的问题,一旦触发部署,当更改推送到 PR 分支时,它会立即取消。

    参考这个文档:Configure a branch policy for an external service,我们可以从以下几个方面来解释这个场景。

    1. 在引入pull request release triggers 之前,当提出PR 时,您可以触发构建,但不能触发部署。拉取请求触发器使您能够设置一组在部署代码之前必须满足的条件。因此部署是一项重要的操作,在部署期间推送新的更改意味着存在问题或其他原因,因此 Azure DevOps 会取消此正在进行的部署并创建一个新的部署来检查策略。
    2. 当服务已发布状态时,策略将相应更新。在政策批准 PR 之前,完成将被阻止。因此,新的更改意味着应该有新的检查/发布,因此 Azure DevOps 会取消此正在进行的部署并创建一个新的部署来检查它。

    【讨论】:

    • 感谢爱德华的解释。如果 PR 环境是可选策略,我认为不应该取消部署。我将为此添加一个请求。
    猜你喜欢
    • 2021-04-19
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 2022-01-03
    相关资源
    最近更新 更多