Gitlab CI环境URL中的用户定义变量为空
我有以下(简化的)Gitlab CI环境URL中的用户定义变量为空,gitlab,gitlab-ci,gitlab-ci-runner,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\u NAME似乎
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\u NAME
似乎解析为空字符串,而runner变量$CI\u BUILD\u REF\u NAME
解析正确
GitLab社区版8.13.0,GitLab runner 1.7.1。 我遗漏了什么?从中可以看出,GitLab Runner 0.5.0或更高版本和GitLab CI 7.14或更高版本支持YAML定义的变量,因此首先,请检查您的GitLab组件版本 还可以尝试启用调试,以获得有关此变量未解析原因的更多线索:
job1:
variables:
CI_DEBUG_TRACE: "true"
这很可能是GitLab Runner中的一个bug,其中环境变量是在环境之后但在脚本之前定义的。你有没有考虑过开题 GitLab变量没有在.GitLab-ci.yml的环境部分进行专门翻译。关于这一点,还有一些问题有待解决(并且缺乏相关文档),例如GitLab Community Edition 8.13.0、GitLab runner 1.7。1@user449326好啊你在运行什么操作系统?CI_DEBUG_TRACE是否产生任何相互测试详细信息?调试输出没有出现
环境
或url
,除了警告:所选执行器和shell不支持环境
,但快速研究表明,这似乎是一个常见的警告,可以忽略。出现环境变量的位置已正确解析,如++export APP\u NAME=hello gitlab ci++APP\u NAME=hello gitlab ci