azure - 有没有办法在上次成功时回滚 DevOps 管道?

标签 azure powershell azure-devops azure-pipelines-release-pipeline azure-pipelines-release-task

当最新版本失败时,我试图在发布管道中回滚,它将恢复到最后成功的状态。我添加了一个 PowerShell 任务,该任务仅在之前的任务失败时运行,并且脚本上次成功触发,但问题是它开始随机而不是按顺序重新部署阶段。## 标题 ##

在我的场景中,我有 3 个阶段,在每个阶段结束时,我添加了一个 PowerShell 任务,该任务仅在前一个任务失败时才会触发,并相应地编写了一个脚本来触发最后一次成功发布。所以它将触发上一个版本中的所有阶段,因为我没有任何 API 或命令来通过 id 触发版本。我有一个仅触发阶段的 API。所有阶段都按顺序排队但随机运行。 enter image description here

最佳答案

由于您正在使用发布管道,我建议您可以使用 Auto-redeploy trigger option每个阶段。

enter image description here

当阶段失败时,它将重新部署当前阶段的最后一个成功版本。

enter image description here

例如:

设置Auto-redeploy trigger option对于第 2 阶段 -> 第 2 阶段失败 -> 自动重新部署最后一个成功的第 2 阶段

更新:

根据您的要求,您可以尝试使用 Release Orchestrator任务来自 Release Orchestrator扩大。此任务可用于管理发布。

示例如下:

enter image description here

您可以使用此任务来替换 powershell 任务。该任务支持选择重新运行的版本名称和目标阶段。

也可以根据输入阶段顺序排序。

enter image description here

注意:您还需要设置Maximum number of parallel deployments作为 2 表示 each stage -> Pre-deployment conditions-> Deployment queue settings .

enter image description here

关于azure - 有没有办法在上次成功时回滚 DevOps 管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63463839/

相关文章:

azure - 如何使用逻辑应用程序从二进制输出将文件另存为 pdf

c# - 从 Azure 数据湖下载文件

powershell - 如何使用PowerShell关闭计算机?

PowerShell Hashtable 显示第一个键

azure-devops - 在 Azure YAML 管道的脚本阶段下添加多个命令

html - 部署到azure后,我的应用程序收到404

.net - Windows Azure 上的 AspPDF 和 AspJPEG

powershell - Powershell 3.0:返回过去24小时内具有最后写入时间的文件名列表

visual-studio - 要访问 VisualStudio.com 帐户,请使用上面的选择器登录

rest - 通过 Powershell 中的 REST API 调用下载 ZIP 内容