我如何在 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}"
。
如何在 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}"
。