GitLab CI yml 检查值是否在工作流规则中的数组内

时间:2021-05-04 13:05:14

标签: yaml gitlab-ci

在触发管道之前,我必须对其进行验证。验证的一项标准是 CI/CD 变量是否具有可接受的值之一。有没有办法找到它是否匹配正确的值?

我尝试创建一个 array of values 然后到 check it in the workflow rules,但从其他问题中不清楚如何做到这一点。

所以它应该是这样的:

#WARNING: invalid yml!
variables:
  ValidValues: ["Value1", "Value2", "SomeOtherValue"]

workflow:
  rules:
    - if: ValidValues contains $GivenValue
      when: always

1 个答案:

答案 0 :(得分:0)

搜索这个问题,我发现我可以添加allowed values to a regex,我可以检查工作流规则。最后看起来是这样的:

workflow:
  rules:
    - if: $GivenValue =~ /\b(Value1|Value2|SomeOtherValue)\b/
      when: always
    - when: never

不幸的是,我没有在我的初始方法中找到解决方案(将允许的值添加到数组,然后查找它们),但这也有效。

相关问题