GitHub Actions定时任务配置完全指南:从Cron语法到实战示例

你好,我是悦创。

博客网站:https://blog.bornforthis.cn/

本教程将详细讲解如何在GitHub Actions中配置定时任务(Scheduled Tasks),帮助你掌握 Cron 表达式的编写规则和实际应用场景。

一、定时任务基础配置

1.1 核心语法结构

yaml 复制代码
on:
  schedule:
    - cron: "分 时 日 月 周"

1.2 参数解析

组件 取值范围 说明
0-59 分钟
0-23 小时(UTC时间)
1-31 月份中的日期
1-12 或 JAN-DEC 月份
0-6 或 SUN-SAT 星期(0=周日)

二、Cron表达式详解

2.1 特殊字符说明

符号 示例 作用
* * * * * * 任意值
, 0,30 * * * * 多个值
- 0-5 * * * * 范围值
/ */15 * * * * 间隔值

2.2 常用配置模板

yaml 复制代码
on:
  schedule:
    # 每5分钟(GitHub最小间隔)
    - cron: "*/5 * * * *"
    
    # 每日UTC时间0点
    - cron: "0 0 * * *"
    
    # 每周一北京时间上午8点
    - cron: "0 0 * * 1"
      timezone: Asia/Shanghai
    
    # 每月1号正午执行
    - cron: "0 12 1 * *"

三、高级配置技巧

3.1 时区设置

yaml 复制代码
- cron: "0 8 * * *"
  timezone: Asia/Shanghai  # 支持IANA时区数据库格式

3.2 分支过滤

yaml 复制代码
on:
  schedule:
    - cron: "0 0 * * *"
  branches:  # 限定触发的分支
    - main
    - release/*

3.3 多任务配置

yaml 复制代码
on:
  schedule:
    - cron: "0 9 * * 1-5"   # 工作日早9点
    - cron: "0 18 * * 1-5"  # 工作日晚6点
    - cron: "0 12 * * 0"    # 周日中午12点

四、注意事项

  1. 执行延迟:GitHub Actions的定时任务可能有1-10分钟的延迟
  2. 频率限制
    • 公共仓库:每月2000分钟免费额度
    • 私有仓库:每月500分钟免费额度
  3. 日志查看 :执行记录可在仓库的 Actions 标签页查看
  4. 表达式验证 :推荐使用 crontab.guru 调试表达式

五、实战应用场景

5.1 自动化测试

yaml 复制代码
name: Daily Test
on:
  schedule:
    - cron: "0 0 * * *"
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - run: npm test

5.2 数据备份

yaml 复制代码
name: Weekly Backup
on:
  schedule:
    - cron: "0 3 * * 6"  # 每周六凌晨3点
jobs:
  backup:
    runs-on: ubuntu-latest
    steps:
      - name: Backup database
        run: ./scripts/backup.sh

5.3 定时通知

yaml 复制代码
name: Morning Reminder
on:
  schedule:
    - cron: "0 9 * * 1-5"  # 工作日早9点
jobs:
  notify:
    runs-on: ubuntu-latest
    steps:
      - uses: actions-slack@v3
        with:
          payload: |
            {
              "text": "每日站会时间到!"
            }

SEO优化提示:本文包含高频搜索关键词「GitHub Actions定时任务」「Cron配置指南」「自动化工作流」,建议在相关技术社区和博客平台发布时保留标题结构。

相关推荐
Resistance丶未来15 小时前
Agency-Agents 多智能体协作系统落地指南
python·大模型·nlp·github·copilot·claude·gemini
輕華16 小时前
YOLOv5 实战:从 GitHub 拉取到自定义数据集训练
yolo·github
海域云-罗鹏18 小时前
豆包开启付费订阅,想白嫖越来越难了,企业不如部署自己的算力服务器
服务器·人工智能·github
遁神银灵子19 小时前
OMO(oh-my-openagents)插件在OpenCode Desktop v1.4.33以上版本失效问题研究
github
码流怪侠20 小时前
【GitHub】TextGen:开源本地大模型运行平台的终极解决方案
python·程序员·github
小雨青年20 小时前
GitHub Copilot Commit Message 生成与自定义配置优化指南
人工智能·github·copilot
无限进步_20 小时前
【C++】AVL树完全解析:从平衡因子到四种旋转
c语言·开发语言·数据结构·c++·后端·算法·github
华万通信king21 小时前
2026 年 GitHub AI 趋势周报:Skills 生态崛起,Agent 框架去中心化
人工智能·去中心化·github
逛逛GitHub1 天前
GitHub 上 3.7 万的 Star,终端里浏览文件的开源工具。
github
GISer_Jing1 天前
基于 GitHub Actions 端到端工程化落地——AI全栈项目实战案例
人工智能·github