Jenkins 无法识别使用 set -a 设置环境变量
Jenkins does not recognize setting env variables using set -a
我有一个 bash 文件用来设置环境变量。它被称为 setter.sh
并且包含类似这样的东西
set -x
var1="something"
在我的 jenkinsfile 中我这样做
sh ". setter.sh"
sh "echo $var1"
然而$var1
无法识别。这可能是什么原因?
您的问题不是空格,而是步骤语法。您在两个单独的 shell 中有两个单独的步骤(命令)。 sh ". setter.sh"
在一个 shell 中运行并退出。第二个命令 sh "echo $var1"
在一个单独的 shell 中运行,它不知道第一个命令的环境。
要么使用 multi-line shell command or Environment Injector plugin or some other means. (warning).
此外,set -x
与问题无关,但主题中的set option是set -a
(导出),正文是set -x
(跟踪)。
我有一个 bash 文件用来设置环境变量。它被称为 setter.sh
并且包含类似这样的东西
set -x
var1="something"
在我的 jenkinsfile 中我这样做
sh ". setter.sh"
sh "echo $var1"
然而$var1
无法识别。这可能是什么原因?
您的问题不是空格,而是步骤语法。您在两个单独的 shell 中有两个单独的步骤(命令)。 sh ". setter.sh"
在一个 shell 中运行并退出。第二个命令 sh "echo $var1"
在一个单独的 shell 中运行,它不知道第一个命令的环境。
要么使用 multi-line shell command or Environment Injector plugin or some other means. (warning).
此外,set -x
与问题无关,但主题中的set option是set -a
(导出),正文是set -x
(跟踪)。