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

如何在GitHub Action部署工作流中添加审批流程并发送审批通知邮件?

实现部署前审批与邮件通知的方案

步骤1:配置GitHub环境审批规则

先在仓库的「Settings」→「Environments」中创建名为dev的环境,开启「Required reviewers」并添加指定审批人。只有审批人通过后,部署任务才会执行。

步骤2:修改工作流文件

调整原工作流的任务结构,合并重复构建步骤,添加邮件通知和审批触发逻辑:

name: DEV Workflow

on:
  push:
    branches: [ dev ]
  pull_request:
    branches: [ dev ]

jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 1.8
        uses: actions/setup-java@v1
        with:
          java-version: '1.8'
          distribution: 'adopt'
          cache: maven
      - name: Build with Maven
        run: mvn clean install
      - name: Unit Testing
        run: echo "执行单元测试逻辑"

  notify-approver:
    needs: build-and-test
    runs-on: ubuntu-latest
    steps:
      - name: 发送审批通知邮件
        uses: actions/send-mail@v1
        with:
          server_address: ${{ secrets.SMTP_SERVER }}
          server_port: ${{ secrets.SMTP_PORT }}
          username: ${{ secrets.SMTP_USER }}
          password: ${{ secrets.SMTP_PASSWORD }}
          subject: 【DEV环境部署待审批】代码构建完成,请确认部署
          body: |
            代码已完成构建与单元测试,请前往以下链接完成部署审批:
            ${{ github.event.repository.html_url }}/actions/runs/${{ github.run_id }}
          to: ${{ secrets.APPROVER_EMAIL }}
          from: GitHub Actions <${{ secrets.SMTP_USER }}>

  deploy-dev:
    needs: notify-approver
    runs-on: ubuntu-latest
    environment: dev # 关联配置好的dev环境,触发审批流程
    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 1.8
        uses: actions/setup-java@v1
        with:
          java-version: '1.8'
          distribution: 'adopt'
          cache: maven
      - name: Build with Maven
        run: mvn clean install
      - name: Deploy to DEV
        run: echo "执行DEV环境部署逻辑"

步骤3:配置GitHub Secrets

在仓库的「Settings」→「Secrets and variables」→「Actions」中添加以下密钥:

  • SMTP_SERVER:邮件服务器地址(如smtp.qq.com)
  • SMTP_PORT:邮件服务器端口(如587)
  • SMTP_USER:发件人邮箱账号
  • SMTP_PASSWORD:邮箱授权码(非登录密码)
  • APPROVER_EMAIL:审批人邮箱地址

核心逻辑说明

  1. 合并原工作流中重复的构建步骤,避免冗余执行
  2. notify-approver任务在构建测试完成后触发,自动向审批人发送包含工作流链接的邮件
  3. deploy-dev任务关联了配置好的dev环境,必须等待审批人在GitHub页面确认通过后,才会执行部署操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 20:25:16