从GitLab UI传递变量到子管道不工作



我有一个问题与GitLab传递变量从父管道到子管道。全局声明的变量会被传递,但在GitLab UI中指定的变量不会被传递。

我的例子如下:

parent.yml

variables:
ENVIRONMENT:
value: dev
options:
- "dev"
- "staging"
- "prod"
stages: 
- child

deploy:
stage: child
trigger:
include: child_dir/child-pipeline.yml

和child_dir/child管道。yml:

before_script:
- echo "$ENVIRONMENT"
- echo "$SOME_OTHER_ENV_VARIABLES_PASSED_THROUGH_UI"

环境→传得好,值得"发";在子管道中回显。SOME_OTHER_ENV_VARIABLES_PASSED_THROUGH_UI→由GitHub UI环境变量传递-它受到保护,但不被屏蔽。子管道中不回显任何内容。

我已经尝试调用子作业内部的环境变量:

deploy:
stage: child
variables:
SOME_OTHER_ENV_VARIABLES_PASSED_THROUGH_UI: $SOME_OTHER_ENV_VARIABLES_PASSED_THROUGH_UI
trigger:
include: child_dir/child-pipeline.yml

但不工作。

有没有人遇到过这样的问题,或者我在这里遗漏了什么?

提前感谢!

我发现了问题。变量不能被"保护"。删除"protected"GitLab UI环境变量的复选框使它工作得很好。

虽然,GitLab也许应该在他们的文档中提到:https://docs.gitlab.com/ee/ci/pipelines/downstream_pipelines.html?#pass-cicd-variables-to-a-downstream-pipeline

相关内容

最新更新