让 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,请写五个字段。