由于基础架构的限制,在我的Jenkinsfile中,我想存储构建1中的一些变量,并能够从构建2和后续版本中访问它们。
我试图设置一些env变量,但是似乎它们没有从一个版本中保存到另一个版本中。
是否可以通过Jenkinsfile实现呢?或者也许将它们写入文本文件?
Jenkins版本:2.111
答案 0 :(得分:0)
是的,将它们写入文本文件,并将其作为构建工件存储在build#1中。
以后的构建可以将文本文件作为build#1的构建工件(通过Web界面,或者如果在主服务器上运行,则在磁盘上)访问。
答案 1 :(得分:0)
到目前为止,我终于使用了适合我的要求的机制,到目前为止,它就像一种魅力:
if (currentBuild.previousBuild != null) {
env.MY_VAR = currentBuild.previousBuild.getBuildVariables().get('MY_VAR ')
echo "Old branch context restored"
} else {
env.MY_VAR = createSomethingAtFirstBuild()
echo "New branch context created"
}