在 gitlab-ci 中,只有当
$CI_COMMIT_TAG
匹配由两个变量组成的字符串时,我才想触发作业。
示例:
job1:
variables:
APP="my-app1"
APP_VERSION="1.0.0"
script:
- some_cmd
rules:
- if: $CI_COMMIT_TAG == "$APP-APP_VERSION"
我的观点是,我使用模板,并且规则不应仅针对一项作业,而是针对所有作业 - 每个作业在变量中都有唯一的值($APP 和 $APP_VERSION)。
因此管道应该触发
git tag
操作并且仅触发特定作业。但它不起作用,我被困住了......
有什么解决方案来评估这些变量值吗?
不确定其中一条评论是否解决了您的问题,但您也可以引入一个中间变量
variables:
APP_WITH_APPVERSION: $APP-$APP_VERSION
rules:
- if: $CI_COMMIT_TAG == "$APP_WITH_APPVERSION"