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

GitHub Actions:如何按计划运行不同分支代码?解决默认分支限制

实现每日夜间运行main和develop分支的GitHub Actions工作流

你可以在默认分支(比如main)中创建一个工作流,通过矩阵策略同时指定main和develop两个分支,让定时任务触发时自动依次拉取两个分支的代码并执行运行逻辑。具体配置如下:

完整的workflow.yaml示例

name: 每日夜间运行多分支代码

on:
  # 配置每日凌晨2点(UTC时间,可根据时区调整)触发
  schedule:
    - cron: '0 2 * * *'
  # 加上手动触发,方便测试
  workflow_dispatch:

jobs:
  run-branch-code:
    runs-on: ubuntu-latest
    # 定义要运行的分支矩阵
    strategy:
      matrix:
        branch: [main, develop]
      # 即使某个分支运行失败,继续执行另一个分支的任务
      fail-fast: false

    steps:
      - name: 拉取对应分支代码
        uses: actions/checkout@v4
        with:
          ref: ${{ matrix.branch }}

      - name: 运行分支代码(替换成你的实际命令)
        run: |
          # 这里写你需要执行的代码逻辑,比如安装依赖、运行测试、执行脚本等
          echo "正在运行${{ matrix.branch }}分支的代码"
          # 示例:npm install && npm run test

关键说明

  • 定时触发:schedule字段里的cron表达式0 2 * * *代表UTC时间每天凌晨2点执行,如果你需要对应北京时间,得转换成UTC(比如北京时间凌晨2点对应UTC前一天的18点,即0 18 * * *)。
  • 矩阵策略:通过matrix.branch定义要覆盖的分支,工作流会自动为每个分支创建独立的任务,避免重复编写相同步骤。
  • 分支拉取:在actions/checkout步骤中,用ref: ${{ matrix.branch }}指定拉取当前矩阵对应的分支代码。
  • 手动触发:加上workflow_dispatch可以让你在GitHub页面手动触发工作流,方便调试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:35:23