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

swe*_*eam 2 regex gitlab gitlab-ci

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

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

  rules:
    - if: $CI_COMMIT_TAG == "wind-index"
      when: always
Run Code Online (Sandbox Code Playgroud)

我期待这会起作用,但没有成功......

  rules:
    - if: $CI_COMMIT_TAG == \^wind-index\
      when: always
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有可能的简单引号、双引号或 的组合\^wind-index.*\,但没有一个有效。

任何建议、帮助都非常受欢迎:-)

Wik*_*żew 8

你需要

  • /作为正则表达式分隔符
  • ==是相等比较运算符,您需要一个正则表达式匹配运算符,=~

您可以使用

 rules:
    - if: $CI_COMMIT_TAG =~ /^wind-index/
      when: always
Run Code Online (Sandbox Code Playgroud)