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

如何配置GitLab Job规则:仅变量RUN取值为run3时不执行

问题根因
  • GitLab CI 的 rules 存在默认行为:当所有规则都没有匹配成功时,Job 默认不执行。你当前的配置仅定义了RUN == "run3"时跳过的规则,其余所有场景(包括RUN未定义、RUN取值不为run3)都没有匹配到任何规则,因此Job被默认跳过,这就是RUN未定义时Job不运行的核心问题。
  • 你之前尝试的$RUN != null、$RUN != ""判断属于冗余逻辑,GitLab CI 对未定义的变量直接做$RUN == "run3"判断时会直接返回false,不会报错,不需要额外加非空判断。
修复后的配置
rules:
  - if: $RUN == "run3"
    when: never
  - when: always

该配置完全匹配你的需求:

  • 变量RUN未定义:不命中第一条规则,命中第二条规则,Job执行
  • 变量RUN已定义且取值不为run3:不命中第一条规则,命中第二条规则,Job执行
  • 变量RUN已定义且取值为run3:命中第一条规则,Job直接跳过

小提示:如果你不需要手动触发、定时调度等所有事件都执行Job,只需要保留GitLab默认的触发场景(代码推送、合并请求等),可以把第二条规则的when: always替换为when: on_success,效果为仅在默认触发事件且前置步骤执行成功时运行Job。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:15:03