如何在 gitlab-ci if 规则中使用正则表达式?

How to use regex in gitlab-ci if rules?

如果有人能帮助我解决以下问题,我将非常高兴。 我想 运行 仅针对以给定标签名称开头的标签的特定脚本。

以下规则适用于标签 'wind-index' 但我需要的是正则表达式,因为我希望它也适用于 'wind-index_0.1'

等标签
  rules:
    - if: $CI_COMMIT_TAG == "wind-index"
      when: always

我原以为这会奏效,但没有成功....

  rules:
    - if: $CI_COMMIT_TAG == \^wind-index\
      when: always

我尝试了所有可能的单引号、双引号或 \^wind-index.*\ 组合,none 有效。

任何建议,非常欢迎帮助:-)

这应该可以解决问题:

- if: $CI_COMMIT_TAG =~ /^wind-index/

你需要

  • / 作为正则表达式定界符
  • ==是相等比较运算符,需要正则匹配运算符,=~.

您可以使用

 rules:
    - if: $CI_COMMIT_TAG =~ /^wind-index/
      when: always