问题描述
当最新版本失败时,我正在尝试在发布管道中回滚,它将在最后一次成功恢复。我添加了一个PowerShell任务,该任务仅在之前的任务失败并且脚本触发最后一次成功时才运行,但问题是它开始随机重新部署阶段而不是顺序地进行。##标题##
在我的场景中,我分为3个阶段,每个阶段的末尾都添加了一个PowerShell任务,该任务仅在上一个任务失败时才触发,并相应地编写了一个脚本来触发上一次成功发布。因此它将触发上一个发行版中的所有阶段,因为我没有任何API或命令可以通过id来触发发行。我有一个仅触发阶段的API。所有阶段都按顺序排队,但随机运行。 enter image description here
解决方法
由于您正在使用发布管道,因此建议您在每个阶段都使用Auto-redeploy trigger option
。
阶段失败时,它将重新部署当前阶段的最后成功发行版本。
例如:
为阶段2设置Auto-redeploy trigger option
->阶段2失败->自动重新部署上次成功的阶段2
更新:
根据您的要求,您可以尝试使用Release Orchestrator扩展名中的Release Orchestrator
任务。此任务可用于管理发布。
这里是示例:
您可以使用此任务替换powershell任务。此任务支持选择重新运行发行版名称和目标阶段。
还可以根据输入阶段的顺序对其进行排序。
注意:您还需要将Maximum number of parallel deployments
的{{1}}设置为2。