首页 > 解决方案 > 如果尚未将手动发布部署到上游环境,如何使手动发布失败

问题描述

如果发布尚未部署到上游环境,我们如何配置手动发布升级失败?所有环境都在一个版本定义/管道下。

用例:如果版本尚未部署到 UAT,则手动部署到 Prod 会失败。

谢谢!

标签: azure-devopsazure-pipelinesazure-pipelines-release-pipeline

解决方案


您可以在 Prod ennvironmetn 开头添加一个 PowerShell 任务,需要在 PowerShell 脚本中实现如下:

1. 获取当前版本的 UAT 状态

使用 REST API Get release获取当前版本的详细信息:

GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}?api-version=4.1-preview.6

然后从响应中获取 UAT 环境的状态。

2. 如果状态不成功,则使 PowerShell 任务失败

如果 UAT 状态不相等succeeded(例如状态为rejected),则 PowerShell 任务失败exit 1。所以 Prod 环境会失败。


推荐阅读