Azure devops 使用yaml自动取消生成/部署到环境(因为不支持仅手动触发部署前条件)

Azure devops 使用yaml自动取消生成/部署到环境(因为不支持仅手动触发部署前条件),azure-devops,yaml,azure-pipelines,azure-pipelines-release-pipeline,Azure Devops,Yaml,Azure Pipelines,Azure Pipelines Release Pipeline,如上图所示,我使用yaml创建了一个构建/发布管道“部署服务”、“部署服务”、“部署服务”依赖于“构建服务”。我已经为这些环境中的每一个添加了批准/检查。对于这个特定的构建/发布,我只想部署到它已经完成的“pd”。虽然“pd”部署已完成,但它仍在等待批准/检查,以便部署到其他环境。由于yaml中不支持“仅手动触发”预部署条件,是否有其他方法在完成到pd的部署后自动取消生成/取消到其他环境的部署?例如,在等待批准检查约10小时后,是否自动取消生成/取消部署到仍在等待批准的其余环境?请告诉我。您可以


如上图所示,我使用yaml创建了一个构建/发布管道“部署服务”、“部署服务”、“部署服务”依赖于“构建服务”。我已经为这些环境中的每一个添加了批准/检查。对于这个特定的构建/发布,我只想部署到它已经完成的“pd”。虽然“pd”部署已完成,但它仍在等待批准/检查,以便部署到其他环境。由于yaml中不支持“仅手动触发”预部署条件,是否有其他方法在完成到pd的部署后自动取消生成/取消到其他环境的部署?例如,在等待批准检查约10小时后,是否自动取消生成/取消部署到仍在等待批准的其余环境?请告诉我。

您可以指定每个阶段运行的条件。默认情况下,如果某个阶段不依赖于任何其他阶段,或者它所依赖的所有阶段都已完成并成功,则该阶段将运行。您可以通过强制某个阶段运行(即使前一个阶段失败)或指定自定义条件来自定义此行为

stages:
- stage: A

# stage B runs if A fails
- stage: B
  condition: failed()

# stage C runs if B succeeds
- stage: C
  dependsOn:
  - A
  - B
  condition: succeeded('B')
更多详情请参阅本文件--

另一种方法是使用变量和powershell脚本来控制管道。供参考:


谢谢,非常感谢。