有什么方法可以在上次成功时回滚 devops 管道吗?
Is there any way to rollback devops pipeline on last successful?
我正在尝试在最新版本失败时在发布管道中回滚,它将最终成功恢复。我添加了一个 PowerShell 任务,该任务仅在先前的任务失败时运行,而脚本最后一次成功触发,但问题是它开始随机而不是按顺序重新部署阶段。## Heading ##
在我的场景中,我有 3 个阶段,在每个阶段结束时,我添加了一个 PowerShell 任务,该任务仅在前一个任务失败时触发,并相应地编写了一个脚本来触发最后一次成功发布。所以它将触发上一个版本中的所有阶段,因为我没有任何 API 或命令来通过 id 触发发布。我有一个 API 只触发阶段。所有阶段都按顺序排队,但 运行 随机。
enter image description here
由于您使用的是发布管道,我建议您可以在每个阶段使用 Auto-redeploy trigger option
。
当阶段失败时,将re-deploy当前阶段最后一次成功发布。
例如:
为第 2 阶段设置 Auto-redeploy trigger option
-> 第 2 阶段失败 -> 自动重新部署最后一个成功的第 2 阶段
更新:
根据您的要求,您可以尝试使用 Release Orchestrator 扩展中的 Release Orchestrator
任务。此任务可用于管理发布。
示例如下:
您可以使用此任务来替换 powershell 任务。此任务支持 select re-run 版本名称和目标阶段。
也可以按照输入阶段顺序排序
注意:您还需要将Maximum number of parallel deployments
设置为2 for each stage -> Pre-deployment conditions-> Deployment queue settings
。
我正在尝试在最新版本失败时在发布管道中回滚,它将最终成功恢复。我添加了一个 PowerShell 任务,该任务仅在先前的任务失败时运行,而脚本最后一次成功触发,但问题是它开始随机而不是按顺序重新部署阶段。## Heading ##
在我的场景中,我有 3 个阶段,在每个阶段结束时,我添加了一个 PowerShell 任务,该任务仅在前一个任务失败时触发,并相应地编写了一个脚本来触发最后一次成功发布。所以它将触发上一个版本中的所有阶段,因为我没有任何 API 或命令来通过 id 触发发布。我有一个 API 只触发阶段。所有阶段都按顺序排队,但 运行 随机。 enter image description here
由于您使用的是发布管道,我建议您可以在每个阶段使用 Auto-redeploy trigger option
。
当阶段失败时,将re-deploy当前阶段最后一次成功发布。
例如:
为第 2 阶段设置 Auto-redeploy trigger option
-> 第 2 阶段失败 -> 自动重新部署最后一个成功的第 2 阶段
更新:
根据您的要求,您可以尝试使用 Release Orchestrator 扩展中的 Release Orchestrator
任务。此任务可用于管理发布。
示例如下:
您可以使用此任务来替换 powershell 任务。此任务支持 select re-run 版本名称和目标阶段。
也可以按照输入阶段顺序排序
注意:您还需要将Maximum number of parallel deployments
设置为2 for each stage -> Pre-deployment conditions-> Deployment queue settings
。