You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为GitHub Actions定时任务设默认分支,保留手动选分支权限?

解决方案:定时任务固定分支+手动触发可自选分支

你可以通过上下文变量条件判断实现这个需求,核心是根据触发事件类型动态设置actions/checkout的ref参数:

  • 定时触发时指定固定分支
  • 手动触发时使用你选择的分支

完整配置示例

on:
  schedule:
    - cron: '0 2 * * *'
  workflow_dispatch:

jobs:
  your-job-name:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          # 定时触发用main分支,手动触发用选择的分支
          ref: ${{ github.event_name == 'schedule' && 'main' || github.ref }}
      
      # 后续执行步骤...

关键逻辑说明

  • ${{ github.event_name }}:GitHub Actions内置上下文变量,用于识别当前触发任务的事件类型
  • github.ref:手动触发时,该变量自动对应你选择的分支引用(比如refs/heads/feature-branch),无需额外配置
  • 条件表达式github.event_name == 'schedule' && 'main' || github.ref:如果是定时触发则返回指定分支(这里是main),否则返回手动选择的分支

如果需要将定时任务的固定分支改为其他分支(比如prod),直接替换main为目标分支名即可。

内容的提问来源于stack exchange,提问作者Szabolcs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 12:22:34