如何在Jenkins中将变量从内部版本传递到另一内部?

时间:2019-01-10 14:19:45

标签: jenkins jenkins-pipeline

由于基础架构的限制,在我的Jenkinsfile中,我想存储构建1中的一些变量,并能够从构建2和后续版本中访问它们。

我试图设置一些env变量,但是似乎它们没有从一个版本中保存到另一个版本中。

是否可以通过Jenkinsfile实现呢?或者也许将它们写入文本文件?

Jenkins版本:2.111

2 个答案:

答案 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"
}