我整天都在挠头试图弄清楚这一点。有人可以指出我为什么
- if [ $BITBUCKET_BRANCH == 'master' ]; echo "Do master branch stuff"; fi
如果我推送到的分支是master
.
但是当我试图通过标签来区分它时
- if [ $BITBUCKET_TAG == 'test-*' ]; then echo "Do test tag stuff"; fi
它被完全忽略,好像if
语句中的代码永远不会到达。
我究竟做错了什么?我尝试以多种方式更改语句,尝试使用正则表达式等均无济于事。任何帮助将不胜感激。
这是一个可重现的示例管道代码:
image: node:12.16.0
options:
docker: true
definitions:
steps:
- step: &if-test
name: If test
script:
- if [ $BITBUCKET_BRANCH == 'master' ]; then echo "Do master branch stuff"; fi
- if [ $BITBUCKET_TAG == 'test-*' ]; then echo "Do test tag stuff"; fi
- if [ $BITBUCKET_TAG == 'staging-*' ]; then echo "Do staging tag stuff"; fi
pipelines:
branches:
master:
- step: *if-test
tags:
'test-*':
- step: *if-test
'staging-*':
- step: *if-test