yaml - GitLab CI yml 检查值是否在工作流规则的数组内
问题描述
我必须在触发管道之前对其进行验证。验证的一个标准是 CI/CD 变量是否具有可接受的值之一。有没有办法确定它是否匹配正确的值?
我试图创建一个值数组,然后在工作流规则中检查它,但从其他问题中不清楚如何做到这一点。
所以它应该是这样的:
#WARNING: invalid yml!
variables:
ValidValues: ["Value1", "Value2", "SomeOtherValue"]
workflow:
rules:
- if: ValidValues contains $GivenValue
when: always
解决方案
搜索这个问题,我发现我可以将允许的值添加到一个正则表达式中,我可以在其上检查工作流规则。最后它看起来像这样:
workflow:
rules:
- if: $GivenValue =~ /\b(Value1|Value2|SomeOtherValue)\b/
when: always
- when: never
不幸的是,我在最初的方法中没有找到解决方案(将允许的值添加到数组中,然后查找它们),但这也有效。
推荐阅读
- php - 在变量中获取值之后的所有内容
- javascript - 对于 Chrome 中的每个键,keyPressed 函数只会触发一次
- java - 邮件认证失败
- php - 条带支付模块上的 SSL 证书错误
- python - OpenCV中圆圈周围的锯齿状边缘 - Python
- python - 前缀不一致的python包安装位置
- html - SVG + CSS;flexbox 环境中的剪辑路径
- cakephp - CakePHP3 - 未保留 Cookie 值
- javascript - 来自 javascript 的 post-css 动态变量
- html - 如何渲染在打字稿中使用 innerHTML 添加的材料元素?