有什么方法可以在上一次成功后回滚devops管道吗?

问题描述

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

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

解决方法

由于您正在使用发布管道,因此建议您在每个阶段都使用Auto-redeploy trigger option

enter image description here

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

enter image description here

例如:

为阶段2设置Auto-redeploy trigger option->阶段2失败->自动重新部署上次成功的阶段2

更新

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

这里是示例:

enter image description here

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

还可以根据输入阶段的顺序对其进行排序。

enter image description here

注意:您还需要将Maximum number of parallel deployments的{​​{1}}设置为2。

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...