Azure devops 将更改推送到PR时,Azure Devops PR部署已取消

Azure devops 将更改推送到PR时,Azure Devops PR部署已取消,azure-devops,Azure Devops,当新的更改被推送到PR时,我们的PR环境部署将被取消。我试图阻止这种情况,但无法找到确定的位置 PR环境部署设置为我们的主分支上的可选分支策略。这将启动PR分支上的构建管道,生成一个工件,然后触发PR环境部署。PR生成部署是手动触发的 PR作业预部署条件为“拉请求部署”设置,并在构建工件的“发布后”触发。在管道上,在启用拉请求触发器的情况下启用了连续部署 值得注意的是,PR构建不会被推送的更改取消,并且在构建期间推送更改不会阻止部署的运行。只是一旦触发部署,当更改被推送到PR分支时,它会立即被取

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

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

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

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

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

通过参考此文档,我们可以出于以下考虑来解释此场景

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

  • 谢谢你的解释,爱德华。我认为,如果PR环境是可选策略,则不应取消部署。我将为此添加一个请求。