我如何在 gitlab CI IF THEN 语句中使用正则表达式

how can i use a regex expression in a gitlab CI IF THEN Statement

如何在 gitlab-ci 管道中的 if then 语句中使用 regex?如果分支名称以 feature/..... 或 develop/......

开头,我需要设置一个变量

我试过了:

before_script:
- >
if [[${CI_COMMIT_BRANCH} =~ feature\/.*]]; then
  echo "Feature Branch Found !"
else
  echo "Production Branch Found !"  
fi;

我已经尝试使用 https://regex101.com/ 的正则表达式 regex101 说正则表达式匹配!

但是它不起作用,我的错误是什么?

您可以使用

if [[ "${CI_COMMIT_BRANCH}" =~ feature/ ]];
  echo "Feature Branch Found !"
else
  echo "Production Branch Not Found !"  
fi;

注:

  • [[]]
  • 前必须有空格
  • 你的 .* 是多余的,可以删除(它只匹配字符串的其余部分,并且由于你没有捕获数据并且以后不使用它,所以这是没有必要的)
  • 引用字符串变量总是一个好主意,"${CI_COMMIT_BRANCH}"