我正在尝试使用第7点(连接/分离)在.gitlab.yml
文件中设置条件,并与此documentation一起使用,但是我使用的语法一直被拒绝gitlab yml验证程序。
应该发生的是,如果VAR1
以'thing'结尾或存在VAR2
(即不为null),则应将该作业排除在运行之外。
这是我的YAML文件中的一个片段:
build:
except:
variables:
- $VAR1 =~ /thing$/ || $VAR2
script:
- echo "Hello"
每当我尝试验证此语法时,都会收到以下消息:
我还尝试了以下(不成功的)变体:
- $VAR1 =~ /thing$/ || $VAR2 != null
- $VAR1 =~ /thing$/ && $VAR2 != null (this was just testing an AND condition)
每当我单独列出条件时,它们就会通过验证。
我的语法出了什么问题?有其他方法可以实现我所需的验证吗?对我来说,这就像个虫子。
答案 0 :(得分:0)
文档中提到:
如果仅在“或”下使用多个键,则它们将用作AND。逻辑是:
(任何引用)AND(任何变量)AND(任何更改)AND(如果kubernetes是活动的)
这似乎使any of variables
表示列出的每个变量的或,因此应该满足您的要求:
build:
except:
variables:
- $VAR1 =~ /thing$/
- $VAR2 != null