我想知道,是否可以从if-else条件语句设置自定义Gitlab CI变量。
在我的.gitlab-ci.yml
文件中,我有以下内容:
variables:
PROJECT_VERSION: (if [ "${CI_COMMIT_TAG}" == "" ]; then "${CI_COMMIT_REF_NAME}-${CI_PIPELINE_ID}"; else ${CI_COMMIT_TAG}; fi);
Trying to set project version:
image: php:7.1-cli
stage: test
script:
# this echoes correct string (eg. "master-2794")
- (if [ "${CI_COMMIT_TAG}" == "" ]; then echo "${CI_COMMIT_REF_NAME}-${CI_PIPELINE_ID}"; else echo ${CI_COMMIT_TAG}; fi);
# this echoes something like "(if [ "" == "" ]; then "master-2794"; else ; fi);"
- echo $PROJECT_VERSION
能做到吗?如果是这样,我错过了什么?谢谢
这是预期的行为。
CI_COMMIT_TAG
仅在GitLab作业中设置为一个值。来自https://docs.gitlab.com/ee/ci/variables/README.html
CI_COMMIT_TAG-提交标记名称。仅在构建标签时显示。
因此在该variables
部分CI_COMMIT_TAG
中未定义,因此等于“”。
因此,如果要CI_COMMIT_TAG
在定义标签的作业中使用use。参见https://docs.gitlab.com/ee/ci/yaml/README.html#tags
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句