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

Gitlab如何停用指定分支及其子分支的流水线?

如何停用指定分支及其子分支的流水线触发

当然可以实现,关键是用对CI工具里的分支匹配规则——你之前用except没生效,大概率是通配符或正则的写法不对,下面分两种主流CI工具给出可行方案:

GitLab CI 配置

如果你的流水线是GitLab CI管理的,有两种可靠写法:

写法1:用workflow:rules全局控制(推荐)

这种方式会直接阻止整个流水线触发,比except更彻底:

workflow:
  rules:
    # 匹配Parent_branch本身,以及所有以Parent_branch/开头的子分支,直接跳过流水线
    - if: '$CI_COMMIT_BRANCH =~ /^Parent_branch(\/.*)?$/'
      when: never
    # 其他分支正常触发
    - when: always

写法2:用except配合正则

如果习惯用except,要确保覆盖父分支和所有子分支:

# 可针对单个job配置,也可全局配置
except:
  - Parent_branch
  - /^Parent_branch\/.*$/

这里的正则/^Parent_branch\/.*$/会匹配所有Parent_branch/xxx格式的子分支,补上父分支本身就能完全覆盖你的需求。

GitHub Actions 配置

如果用的是GitHub Actions,用branches-ignore或者条件判断都可以:

写法1:branches-ignore直接排除

on:
  push:
    branches-ignore:
      - 'Parent_branch'
      - 'Parent_branch/**'
  pull_request:
    branches-ignore:
      - 'Parent_branch'
      - 'Parent_branch/**'

Parent_branch/**会匹配所有该分支下的子分支结构。

写法2:job级别条件判断

jobs:
  your_job_name:
    runs-on: ubuntu-latest
    # 排除所有以Parent_branch开头的分支
    if: "!startsWith(github.ref, 'refs/heads/Parent_branch')"
    steps:
      - uses: actions/checkout@v4
      # 其他步骤...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 07:43:24