如何在.gitlab-ci.yml变量中使用条件?

好声音

我想知道,是否可以从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

能做到吗?如果是这样,我错过了什么?谢谢

卡尔帕·古纳拉特纳(Kalpa Gunarathna)

这是预期的行为。

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章