首页/开发/CI/CD 与发布速查/手动门与人工审批作业
流水线设计54 条

手动门与人工审批作业

把「上生产」「删数据」等敏感动作设为手动触发或需审批:自动化负责准备,由人按下最后一步。

CI/CD 与发布速查开发更新于 2026-10-12
GitLabwhen: manual;需要阻塞语义时配 allow_failure: false
GitHubenvironment 配置 Required reviewers,人工批准后才进入该环境任务
Jenkinsinput 步骤暂停等待确认

GitLab 手动部署

GitLab 手动部署
deploy-prod:
  stage: deploy
  when: manual
  allow_failure: false
  script: ./ci/deploy.sh prod

Jenkins input

Jenkins input
stage('Approve') {
  steps { input '确认发布到生产?' }
}
审批人应能看到变更内容与验证结果(MR 链接、测试报告),避免「盲批」。

易错点

  • 手动作业默认不阻塞:不执行也视为成功,需要「卡住流水线」时显式设置 allow_failure: false
  • 审批人就是提交人:敏感环境应配置独立审批人与受保护环境

数据来源与参考

  • GitLab Docs《Manual jobs》
  • GitHub Docs《Deployment protection rules》
  • Jenkins Handbook《Pipeline Syntax》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌