跳到正文
cron.surf

让 GitHub Actions 工作流每 15 分钟运行

GitHub Actions 中“每 15 分钟”的表达式是 */15 * * * *。下面是可直接粘贴的配置、接下来的运行时间和需要注意的地方。 GitHub Actions 在 on.schedule 里使用 POSIX cron,在默认分支上运行;除非条目设置了时区,否则按 UTC。

*/15 * * * *在工具中打开

“每隔 15 分钟”

在 GitHub 上总是晚跑? 让它准点运行 →

工作流文件

.github/workflows/every-15-minutes.yml
name: every-15-minutes
on:
  schedule:
    - cron: '*/15 * * * *'
      timezone: 'UTC'
  workflow_dispatch:
jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - run: echo "running every-15-minutes"

GitHub Actions 的坑

最短 5 分钟GitHub 文档写明定时工作流最短每 5 分钟一次,不要指望更短。
可能延迟或被丢弃高峰期定时运行会延迟,尤其是整点,部分运行可能被丢弃。时间敏感就别用第 0 分钟。
不设 timezone 就是 UTC在 schedule 条目里加 timezone: 和 IANA 时区名。不加就按 UTC。
只在默认分支运行,还会被停用定时任务用默认分支的最新提交运行。公开仓库 60 天没有活动会被自动停用。

常见问题

GitHub Actions 中“每 15 分钟”的 cron 表达式是什么?

*/15 * * * *。含义:每隔 15 分钟

GitHub Actions 的定时任务按哪个时区运行?

默认 UTC。在 schedule 条目里 cron: 旁边加 timezone:,写 IANA 时区名,比如 Asia/Shanghai。

GitHub Actions 能每分钟运行吗?

不能。文档写的最短间隔是 5 分钟。更短的间隔请从外部用 workflow_dispatch 或 repository_dispatch 触发。

GitHub Actions 支持 @hourly、@daily 吗?

不支持。GitHub 不支持 @yearly、@monthly、@weekly、@daily、@hourly 和 @reboot,请写五个字段。