GitLab CI预定义环境变量未在only子句中识别?

GitLab CI预定义环境变量未在only子句中识别?,gitlab,gitlab-ci,Gitlab,Gitlab Ci,我想在.gitlab ci.yml中作业的only子句中使用 我有一个项目托管在(GitLab版本是“9.5.2-ee”)。以下是.gitlab ci.yml的内容: stages: - mystage .templ: &templ stage: mystage image: docker-dev/centos-base/7.3.1611/ tags: - kubernetes script: - echo "he

我想在.gitlab ci.yml中作业的
only
子句中使用

我有一个项目托管在(GitLab版本是“9.5.2-ee”)。以下是.gitlab ci.yml的内容:

stages:
    - mystage

.templ: &templ
    stage: mystage
    image: docker-dev/centos-base/7.3.1611/
    tags:
        - kubernetes
    script:
        - echo "hello world"

use absolute values:
    <<: *templ
    only:
        - master@jamiet/test-ci-variables

use $CI_PROJECT_NAME:
    <<: *templ
    only:
        - master@jamiet/$CI_PROJECT_NAME

use ${CI_PROJECT_NAME}:
    <<: *templ
    only:
        - master@jamiet/${CI_PROJECT_NAME}
阶段:
-mystage
.temp:&temp
舞台:mystage
图片:docker dev/centos base/7.3.1611/
标签:
-库伯内特斯
脚本:
-回声“你好,世界”
使用绝对值:
对此也感到困惑。
解决办法是:
变量检查在以下情况下不起作用

only:
  variables:
    - $VARIABLE == master@jamiet/{}
    - master@jamiet/${CI_PROJECT_NAME}
    - master@jamiet/$CI_PROJECT_NAME
但是使用一个简单的变量工作:

only:
  variables:
    - $VARIABLE == $CI_PROJECT_NAME
    - ${CI_PROJECT_NAME}
    - $CI_PROJECT_NAME 

尝试在模板中重新定义变量,并像这样使用它

我认为您不能在分支中仅使用
部分中的变量。你试过对分支进行硬编码吗?是的,硬编码很好用。请参见上面的作业
使用绝对值
。我最终得出了和你一样的结论,这是不可能的。