You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps Environments环境下如何实现Kubernetes部署回滚?

解决方案

以下是三种适配你当前使用场景的回滚方案,均可实现低风险、快速回滚的需求:

方案1:直接复用环境部署历史的重新部署功能(最贴合原有使用习惯)

该方案和经典Release流水线选旧构件重跑的逻辑完全一致,无需修改现有配置:

  • 进入Azure DevOps的「环境」页面,选择你要回滚的目标环境(比如生产环境)
  • 切换到「部署历史」标签,找到你需要回滚到的已成功执行的旧部署记录
  • 点击该记录右侧的更多操作按钮(三个点),选择「重新部署」即可

该操作会直接复用该次部署对应的所有上下文(包括当时的镜像版本、K8s配置清单、变量值),仅执行部署阶段逻辑,不会重新触发CI构建。

方案2:优化YAML配置,支持手动指定镜像Tag快速回滚

适合需要灵活指定任意历史版本回滚的场景,仅需对现有YAML做少量调整:

  1. 在YAML顶部新增可选参数:
parameters:
- name: rollbackImageTag
  type: string
  default: ''
  displayName: 回滚指定镜像Tag(留空则执行正常构建部署流程)
  1. 调整变量逻辑,适配回滚场景:
variables:
  azureContainerRegistry: <registryUrl> 
  azureContainerRegistryServiceConnection: <serviceConnection>
  kubernetesConfigPath: kubernetes
  kubernetesNamespace: <my-namespace>
  major: 0
  # 新增镜像Tag判断逻辑
  ${{ if ne(parameters.rollbackImageTag, '') }}:
    imageName: "$(azureContainerRegistry)/<my-app>:${{ parameters.rollbackImageTag }}"
  ${{ else }}:
    buildNumber: $(major).$(Build.BuildId)
    imageName: "$(azureContainerRegistry)/<my-app>:$(buildNumber)"
  1. 给Bake构建阶段加执行条件,回滚场景下跳过构建:
- stage: Bake
  displayName: "Build and Push image"
  # 仅未指定回滚Tag时执行构建
  condition: eq('${{ parameters.rollbackImageTag }}', '')
  jobs:
    # 原有构建逻辑保持不变

配置完成后,回滚时只需要手动运行流水线,填写要回滚的历史镜像Tag即可,无需修改代码、无需选择历史commit。

方案3:适配Kubernetes原生回滚能力(紧急故障场景极速回滚)

适合生产环境出故障需要最快速度恢复的场景,有两种实现方式:

  • 直接在环境的「Kubernetes资源」视图中找到对应的Deployment,点击操作按钮选择「回滚」,即可一键回到上一个成功的部署版本
  • 也可以在YAML中新增一个手动触发的回滚阶段,默认不执行,需要时手动触发即可,核心逻辑如下:
- stage: RollbackProd
  displayName: "回滚生产环境到上一版本"
  dependsOn: DeployProd
  # 仅手动触发时执行
  condition: false
  jobs:
  - deployment: Rollback
    environment: <my-prod-env>.$(kubernetesNamespace)
    pool:
      name: "Docker"
    strategy:
      runOnce:
        deploy:
          steps:
          - task: Kubernetes@1
            displayName: "执行回滚"
            inputs:
              namespace: $(kubernetesNamespace)
              command: rollout
              arguments: "undo deployment/<my-app>"

内容的提问来源于stack exchange,提问作者mchristos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:18:03