【发布时间】:2017-04-02 00:13:51
【问题描述】:
我在为 Jenkins 管道中的容器设置环境变量时遇到了麻烦。 看来,“withEnv”在没有 bash 的机器上不能很好地工作。
你能确认一下吗?我找不到官方声明;-)
当我在 Jenkins slave 上运行以下 sn-p 时,它可以工作。 但是当它在没有 BASH 的 docker 容器中执行时,没有设置“$test”。
withEnv(["test='asd'"]){
sh 'echo $test'
}
【问题讨论】:
-
“test”是 groovy 变量还是 bash 变量?
-
test 应该成为一个 bash 变量(在块中)。
-
可能Jenkins节点将变量传递给运行docker的子shell,但是docker没有将环境变量传递给自己的子shell;试试这个:*.com/a/30494145/1388202
标签: bash jenkins jenkins-pipeline jenkins-workflow