GitLab CI/CD的.gitlab-ci.yml如何实现字符串不区分大小写比较
GitLab CI rules:if 大小写不敏感比较方案
- 方案1:使用内置字符串转换函数(适用于GitLab 14.3及以上版本)
GitLab CI 14.3版本开始支持对变量调用lower()、upper()这类字符串处理方法,你可以将变量和对比常量统一转换为全小写/全大写后再做等值比较,配置示例如下:
rules: - if: $MyVariable.lower() == 'some string'
你也可以统一转成大写对比,效果一致:
rules: - if: $MyVariable.upper() == 'SOME STRING'
- 方案2:使用正则匹配(兼容所有支持rules:if的GitLab版本)
你可以使用=~正则匹配运算符,搭配正则忽略大小写标识i实现需求,注意用^和$锚定字符串首尾,避免出现部分匹配的误判,配置示例如下:
rules: - if: $MyVariable =~ /^some string$/i
注意:如果你的对比字符串包含
.、*、+、?这类正则特殊字符,需要在字符前加反斜杠\转义后再使用正则匹配方案。
内容的提问来源于stack exchange,提问作者Tadeusz
相关产品推荐
相关产品推荐

