GitHub Action定时cron任务未触发,push事件正常,求助排查
问题排查与修复方案
1. YAML语法缩进错误(核心问题)
你的配置中steps块的缩进层级错误,它应当属于jobs.build的子节点,当前与jobs同级会导致工作流结构无效,GitHub无法正确解析定时任务配置。同时actions/checkout的ref参数未放在with块中,这也是语法错误。
修复后的正确配置:
name: Temp Workflow on: schedule: - cron: "*/15 * * * *" jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 with: ref: branch_123 - name: Hello World run: echo "Hello, World!" - name: Hi world run: echo "Hii, World!" env: CI: true
2. 分支触发限制
GitHub Actions的schedule触发器仅运行仓库默认分支(如main/master)上的工作流文件,如果你在branch_123分支测试,定时任务不会自动触发:
- 若要测试定时逻辑,可临时将该分支设为仓库默认分支,或在仓库Actions页面找到该工作流,点击「Run workflow」手动触发。
- 测试通过后将工作流合并到master分支,定时任务即可按cron规则正常执行。
3. 额外注意事项
- cron表达式使用UTC时区,
*/15 * * * *代表每15分钟UTC时间触发,若需对应本地时区,需转换为UTC时间后调整表达式。 - GitHub定时任务存在一定延迟,即使配置正确,也可能出现几分钟的偏差,属于正常情况。
内容的提问来源于stack exchange,提问作者Ankit Jaishwal
相关产品推荐
相关产品推荐

