如何将文件中的变量加载到 Jenkins 管道中的 windows 环境变量中?
How to load variables from file into windows environment variables in Jenkins pipeline?
我有以下Jenkinsfile
node {
stage 'checkout'
deleteDir()
checkout scm
load 'LoadTheseVariables.txt'
echo "MYKEY: ${MYKEY}"
echo "REPO: ${REPO}"
bat 'echo MYKEY is %MYKEY%'
bat 'echo REPO is %REPO%'
}
文件 LoadTheseVariables.txt
包含:
MYKEY="ThisIsTheKey"
REPO="ThisIsTheRepo"
Jenkins 构建的输出是:
<..snip..>
[Pipeline] load
[Pipeline] { (LoadTheseVariables.txt)
[Pipeline] }
[Pipeline] // load
[Pipeline] echo
MYKEY: ThisIsTheKey
[Pipeline] echo
REPO: ThisIsTheRepo
[Pipeline] bat
[test] Running batch script
D:\Jenkins\workspace\test>echo MYKEY is
MYKEY is
[Pipeline] bat
[test] Running batch script
D:\Jenkins\workspace\test>echo REPO is
REPO is
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
Jenkins 管道可以看到变量,但为什么我的 windows cmd 环境看不到变量?我什至在最后的 bat
命令之前尝试了这一步:bat 'refreshenv'
但是没有用这些变量重新加载环境。
如何从 Windows 作业中的文件加载变量并在 运行 时将它们加载到环境中?
解决方案是在 bat
命令周围使用双引号而不是单引号。似乎工作正常。
我有以下Jenkinsfile
node {
stage 'checkout'
deleteDir()
checkout scm
load 'LoadTheseVariables.txt'
echo "MYKEY: ${MYKEY}"
echo "REPO: ${REPO}"
bat 'echo MYKEY is %MYKEY%'
bat 'echo REPO is %REPO%'
}
文件 LoadTheseVariables.txt
包含:
MYKEY="ThisIsTheKey"
REPO="ThisIsTheRepo"
Jenkins 构建的输出是:
<..snip..>
[Pipeline] load
[Pipeline] { (LoadTheseVariables.txt)
[Pipeline] }
[Pipeline] // load
[Pipeline] echo
MYKEY: ThisIsTheKey
[Pipeline] echo
REPO: ThisIsTheRepo
[Pipeline] bat
[test] Running batch script
D:\Jenkins\workspace\test>echo MYKEY is
MYKEY is
[Pipeline] bat
[test] Running batch script
D:\Jenkins\workspace\test>echo REPO is
REPO is
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
Jenkins 管道可以看到变量,但为什么我的 windows cmd 环境看不到变量?我什至在最后的 bat
命令之前尝试了这一步:bat 'refreshenv'
但是没有用这些变量重新加载环境。
如何从 Windows 作业中的文件加载变量并在 运行 时将它们加载到环境中?
解决方案是在 bat
命令周围使用双引号而不是单引号。似乎工作正常。