如何在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
相关产品推荐
相关产品推荐

