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

GitHub多环境CI/CD配置咨询:指定历史构建版本部署

部署指定构建编号的Docker镜像到对应环境

要部署非最新的构建版本,核心是让部署工作流支持手动指定构建编号,拉取对应标签的镜像完成部署,具体操作如下:

1. 修改部署工作流,添加手动触发参数

给DEV、TEST、LIVE三个环境的部署工作流分别添加手动触发输入项,让你能在触发时指定目标构建编号。以DEV环境的部署工作流为例,修改后配置如下:

name: Deploy to DEV
on:
  # 保留原有自动触发规则(比如构建完成后触发),新增手动触发入口
  workflow_dispatch:
    inputs:
      build_number:
        description: '要部署的构建编号'
        required: true
        type: string

jobs:
  deploy:
    runs-on: ubuntu-latest
    environment:
      name: DEV
    steps:
      - name: 拉取指定构建编号的镜像
        run: docker pull 你的镜像仓库地址/你的镜像名:${{ github.event.inputs.build_number }}
      # 替换成你实际的部署命令,比如启动容器、更新K8s资源等
      - name: 部署到DEV环境
        run: |
          docker stop dev-app || true
          docker rm dev-app || true
          docker run -d --name dev-app -p 80:80 你的镜像仓库地址/你的镜像名:${{ github.event.inputs.build_number }}

2. 确保构建工作流的镜像标签与构建编号绑定

在你的构建工作流里,必须用GitHub自动生成的构建编号(github.run_number)作为镜像标签,才能和部署时指定的编号一一对应。构建工作流中推送镜像的步骤示例:

- name: 构建并推送Docker镜像
  run: |
    docker build -t 你的镜像仓库地址/你的镜像名:${{ github.run_number }} .
    docker push 你的镜像仓库地址/你的镜像名:${{ github.run_number }}

3. 手动触发指定版本的部署

在GitHub仓库的「Actions」页面,找到目标部署工作流(比如「Deploy to DEV」),点击右侧的「Run workflow」,在弹出的输入框中填写要部署的构建编号(比如3),点击「Run workflow」即可触发该版本的部署。

注意事项

  • 确认镜像仓库中存在对应构建编号的镜像,否则部署会失败。
  • 如果使用私有镜像仓库,要在部署工作流中添加Docker登录步骤,配置好拉取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 20:46:03