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
相关产品推荐
相关产品推荐

