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

如何在GitHub Actions中实现周五禁用PROD部署

实现GitHub Actions周五禁用PROD环境发布

完全可以实现,核心思路是通过判断当前日期是否为周五,来控制PROD部署任务的执行与否。以下是具体的Workflow配置示例:

name: PROD Deployment
on:
  push:
    branches: [ main ]

jobs:
  check-weekday:
    runs-on: ubuntu-latest
    outputs:
      is-friday: ${{ steps.check-day.outputs.is-friday }}
    steps:
      - name: 判断是否为周五
        id: check-day
        run: |
          # 用date +%u获取星期几,1=周一,5=周五
          DAY=$(date +%u)
          if [ $DAY -eq 5 ]; then
            echo "is-friday=true" >> $GITHUB_OUTPUT
          else
            echo "is-friday=false" >> $GITHUB_OUTPUT
          fi

  deploy-prod:
    name: 部署到PROD环境
    runs-on: ubuntu-latest
    needs: check-weekday
    # 仅当不是周五时执行部署
    if: ${{ needs.check-weekday.outputs.is-friday == 'false' }}
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4

      - name: 执行PROD部署
        run: |
          # 替换为你的实际部署命令
          echo "正在部署到PROD环境..."
          # ./deploy-prod.sh

关键说明:

  • check-weekday 任务负责检测当前日期是否为周五,并输出is-friday标记
  • deploy-prod 任务依赖前者的结果,只有当is-friday为false时才会触发部署
  • 如果你的团队使用非UTC时区,可修改date命令指定时区,比如国内时区:
    DAY=$(TZ="Asia/Shanghai" date +%u)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 16:22:09