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

GitLab CI:如何用only实现目录变更或变量为真的OR触发条件

GitLab CI实现目录变更或变量为true的OR逻辑(兼容except指令)

你需要让任务在指定目录发生变更或者**$NIGHTLY_JOB变量为"true"**时触发,但当前only配置的写法是AND逻辑,导致只有两个条件同时满足才会运行,这就是目录变更时任务不触发的原因。

由于你已经使用了except指令,无法切换到rules,可以通过拆分only为多个独立条件组来实现OR逻辑:

only:
  - changes:
      - some/dir/**/*
      - another/dir/**/*
  - variables:
      - $NIGHTLY_JOB == "true"

原理说明

GitLab CI中,only数组里的每个元素是一个独立的条件组,组内的条件是AND逻辑,组与组之间是OR逻辑。上面的配置中:

  • 第一个条件组:只要some/dir或another/dir下有文件变更,就满足触发条件
  • 第二个条件组:只要$NIGHTLY_JOB变量等于"true",就满足触发条件
    两个组满足任意一个,任务就会运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 12:32:04