groovy Jenkins无法识别使用set -a设置env变量

sy5wg1nm  于 2022-11-01  发布在  Jenkins
关注(0)|答案(1)|浏览(211)

我有一个用来设置env变量的bash文件,名为setter.sh,包含如下内容

set -x
var1="something"

在我jenkinsfile里我这样做

sh ". setter.sh"
sh "echo $var1"

但是$var1没有被识别出来,这是什么原因呢?

elcex8rz

elcex8rz1#

您的问题不是空格,而是步骤语法。您在两个单独的shell中有两个单独的步骤(命令)。sh ". setter.sh"在一个shell中运行并退出。第二个命令sh "echo $var1"在一个单独的shell中运行,该shell不知道第一个命令的环境。
使用multi-line shell命令或Environment Injector插件或其他方法。(warning)。
同样,set -x与问题无关,但set option在主题中是set -a(导出),主体是set -x(跟踪)。

相关问题