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

GitLab CI develop分支流水线被跳过且手动触发失败求助

问题原因

你的流水线被跳过是因为workflow规则里使用的自定义变量COMMIT_BRANCH在workflow执行阶段还未完成赋值。GitLab CI的workflow是整个流水线的入口规则,执行优先级高于自定义变量的定义,所以判断$COMMIT_BRANCH == "develop"时,这个变量还没被赋值为CI_COMMIT_BRANCH的值,导致条件不成立,流水线直接被过滤掉。

修复方案

直接在workflow规则中使用GitLab预定义变量CI_COMMIT_BRANCH,无需自定义变量中转,修改后的配置如下:

# List of stages for jobs, and their order of execution
stages:          
  - validate
  - build

workflow:
  rules:
    - if: $CI_COMMIT_BRANCH == "develop"
      when: always

validate-job:
  stage: validate
  script:
  - echo "Validated"

build-job:
  stage: build
  ##some job actions
  script: 
  - echo "t"
  # rules:
    # - if: $CI_COMMIT_REF_NAME =~ /develop\/.*$/
      # when: always
额外说明
  • 预定义变量CI_COMMIT_BRANCH由GitLab自动注入,代表当前流水线运行的分支名,无需手动赋值。
  • 如果后续需要针对不同分支配置流水线,直接基于CI_COMMIT_BRANCH或CI_COMMIT_REF_NAME编写规则即可,后者支持标签等非分支场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:42:36