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

GitLab CI规则失效:指定作业始终被移出流水线问题求助

GitLab CI 规则配置错误分析与修复

问题原因

你当前的rules配置仅包含一条规则:当$CI_PIPELINE_SOURCE == "trigger"时跳过作业,但GitLab CI的rules逻辑是按顺序匹配,只有匹配到允许执行的规则时,作业才会被加入流水线。当触发源不是trigger时,没有任何规则匹配,作业会默认被排除,最终导致无论什么场景都不会运行。

修复方案

需要添加一条默认规则,允许非trigger场景下作业正常执行,修改后的配置如下:

rules:
  - if: '$CI_PIPELINE_SOURCE == "trigger"'
    when: never
  - when: always  # 也可以替换为 if: '$CI_PIPELINE_SOURCE != "trigger"',逻辑等价

补充说明

  • when: always会在前面的规则不匹配时,无条件将作业加入流水线,完全符合你的预期:仅在trigger触发时跳过作业,其他场景正常执行。
  • 用if: '$CI_PIPELINE_SOURCE != "trigger"'替代when: always,逻辑更明确,但实际效果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 04:45:57