Gitlab CI环境URL中的用户定义变量为空

时间:2016-11-09 08:05:43

标签: gitlab gitlab-ci gitlab-ci-runner

我有以下(简化)gitlab-ci.yml

variables:
  APP_NAME: "hello-gitlab-ci"
deploy:
  stage: deploy
  script: some-script
environment:
  name: staging
  url: http://hostname/$APP_NAME/$CI_BUILD_REF_NAME

Gitlab UI中生成的url例如:http://hostname//master$APP_NAME似乎解析为空字符串,而转轮变量$CI_BUILD_REF_NAME正确解析。

GitLab Community Edition 8.13.0,gitlab-runner 1.7.1。 我错过了什么?

3 个答案:

答案 0 :(得分:1)

From GitLab doc, the YAML-defined variables are supported with GitLab Runner 0.5.0 or higher and GitLab CI 7.14 or higher, so first, check your GitLab component versions.

Try also enabling debug, to have more clues on why this variable is not resolved:

job1:
  variables:
    CI_DEBUG_TRACE: "true"

答案 1 :(得分:1)

这很可能是GitLab Runner中的一个错误,其中env变量是在环境之后但在脚本之前定义的。你考虑过开设一个问题吗? https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues

答案 2 :(得分:1)

GitLab变量未在.gitlab-ci.yml的环境部分中专门翻译。关于这一点存在一些问题(以及缺乏关于此的文档),例如https://gitlab.com/gitlab-org/gitlab-ce/issues/27921