Jenkins管道-全局(非环境)属性

Jenkins管道-全局(非环境)属性,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我目前正在Jenkins中开发一个相当复杂的脚本管道,在构建工作中我需要一些值。我已尝试将它们保存到环境变量中,例如env.MY_VAR='foo' 但是,这仅限于标量值,我还需要存储一些结构化数据,主要是小列表和映射。我知道我可以根据需要对它们进行序列化/反序列化,但我不想这样做 除了使用全局变量,还有什么(更好的)方法来实现这一点吗?Jenkins对象是否提供了执行类似于currentBuild.myCustomVars.add('myVar','foo')的操作的方法?更好的方法可能是使用

我目前正在Jenkins中开发一个相当复杂的脚本管道,在构建工作中我需要一些值。我已尝试将它们保存到环境变量中,例如
env.MY_VAR='foo'

但是,这仅限于标量值,我还需要存储一些结构化数据,主要是小列表和映射。我知道我可以根据需要对它们进行序列化/反序列化,但我不想这样做


除了使用全局变量,还有什么(更好的)方法来实现这一点吗?Jenkins对象是否提供了执行类似于
currentBuild.myCustomVars.add('myVar','foo')
的操作的方法?

更好的方法可能是使用共享库来实现这一点(请参见。例如,您可以简单地将
Map
包装在
MyMap
中,将其放入共享库并像这样导入管道:

@Library('somelib')
import com.mycorp.pipeline.complextypes.MyMap

这有点复杂,我个人更希望摆脱复杂类型或使用全局变量,但如果您需要的不仅仅是泛型
Map
,那么这可能是值得的。

所以您不想使用全局groovy变量?比如a=1?