当最新版本失败时,我试图在发布管道中回滚,它将恢复到最后成功的状态。我添加了一个 PowerShell 任务,该任务仅在之前的任务失败时运行,并且脚本上次成功触发,但问题是它开始随机而不是按顺序重新部署阶段。## 标题 ##
在我的场景中,我有 3 个阶段,在每个阶段结束时,我添加了一个 PowerShell 任务,该任务仅在前一个任务失败时才会触发,并相应地编写了一个脚本来触发最后一次成功发布。所以它将触发上一个版本中的所有阶段,因为我没有任何 API 或命令来通过 id 触发版本。我有一个仅触发阶段的 API。所有阶段都按顺序排队但随机运行。 enter image description here
最佳答案
由于您正在使用发布管道,我建议您可以使用 Auto-redeploy trigger option
每个阶段。
当阶段失败时,它将重新部署当前阶段的最后一个成功版本。
例如:
设置Auto-redeploy trigger option
对于第 2 阶段 -> 第 2 阶段失败 -> 自动重新部署最后一个成功的第 2 阶段
更新:
根据您的要求,您可以尝试使用 Release Orchestrator
任务来自 Release Orchestrator扩大。此任务可用于管理发布。
示例如下:
您可以使用此任务来替换 powershell 任务。该任务支持选择重新运行的版本名称和目标阶段。
也可以根据输入阶段顺序排序。
注意:您还需要设置Maximum number of parallel deployments
作为 2 表示 each stage -> Pre-deployment conditions-> Deployment queue settings
.
关于azure - 有没有办法在上次成功时回滚 DevOps 管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63463839/