如何在GitHub工作流中实现Staging部署后手动触发生产部署?
实现Staging部署后手动触发生产环境部署的GitHub工作流修改方案
要在Staging环境部署完成后暂停工作流,待手动确认后再部署生产环境,你可以利用GitHub Actions的环境审批机制实现,具体修改步骤如下:
1. 修改工作流配置文件
在prod任务中添加environment字段,关联到仓库的生产环境配置:
name: main on: push: branches: - main jobs: test: uses: ./.github/workflows/build-test.yml secrets: inherit staging: uses: ./.github/workflows/staging-deploy.yml secrets: inherit prod: name: 'Deploy to Prod' uses: ./.github/workflows/deploy.yml needs: [test, staging] with: stage: prod secrets: inherit environment: production # 新增:关联到GitHub仓库的production环境
2. 在GitHub仓库配置生产环境的手动审批规则
- 打开GitHub仓库,进入「Settings」页面
- 左侧菜单找到「Environments」,点击「New environment」
- 环境名称填写
production(必须和yml文件中的environment值一致) - 在「Deployment protection rules」区域,勾选「Required reviewers」,添加需要审批部署的人员或团队
- 保存配置
工作流执行逻辑
代码合并到main分支后,工作流会依次执行test和staging任务:
- Staging环境部署完成后,
prod任务进入等待审批状态 - 你可对Staging环境执行sanity测试,确认无误后,前往仓库「Actions」页面找到对应工作流记录,点击
prod任务旁的「Review deployments」按钮,由指定审批者完成批准 - 审批通过后,
prod任务自动启动,完成生产环境部署
内容的提问来源于stack exchange,提问作者Saad Alam
相关产品推荐
相关产品推荐

