这是我简单的Yaml文件
image: my/docker/image
stages:
- print
- testvarbridge
variables:
INCOMMING_VAR: $ENV_VAR
print_these:
stage: print
script:
- echo $INCOMMING_VAR
- export $INCOMMING_VAR
testvarbridge:
stage: testvarbridge
variables:
TEST_VAR: $INCOMMING_VAR
trigger:
project: my-project/pipeline-two
branch: ci-cd
$ENV_VAR
是项目中用于测试的变量...它只是说"this_is_the_variable"
当我触发pipleine时..打印台正确打印:
echo $INCOMMING_VAR
this_is_the_variable
但是当第二个管道被触发时,它只是被设置为对传入的变量执行简单的echo命令。它回显如下:
echo TEST_VAR
$ENV_VAR
如您所见,当testvarbridge阶段设置变量TEST_VAR,
时,它首先将$ENV_VAR
变量作为文字字符串。它不会求值并获取与该变量关联的值。我想念什么吗?
答案 0 :(得分:0)
这是3年前在gitlab-org/gitlab-runner
issue 1809中的报道:“在其他变量中使用变量”。
一种解决方法是在
#!/bin/bash service ssh start /usr/bin/node /myApp/app.js
中而不是before_script
中设置var。
因此,将问题中给出的示例编写为:variables