jenkins - Jenkins 管道 - 全局(非环境)属性
问题描述
我目前正在 Jenkins 中开发一个相当复杂的脚本化管道,并且在构建工作中我需要一些值。我尝试将它们保存到环境变量中,例如env.MY_VAR = 'foo'
.
但是,这仅限于标量值,我还需要存储一些结构化数据,主要是小列表和地图。我知道我可以根据需要对它们进行序列化/反序列化,但我不想这样做。
除了使用全局变量之外,还有什么(更好的)方法可以实现这一点?Jenkins 对象是否提供任何方法来做类似的事情currentBuild.myCustomVars.add('myVar','foo')
?
解决方案
更好的方法可能是使用共享库来实现这一点(请参阅“使用共享库扩展”。例如,您可以简单地将一个Map
inMyMap
放入共享库中并将其导入到您的管道中,如下所示:
@Library('somelib')
import com.mycorp.pipeline.complextypes.MyMap
这有点复杂,我个人宁愿摆脱复杂类型或使用全局变量,但如果您需要的不仅仅是泛型Map
,那么它可能值得付出努力。
推荐阅读
- javascript - 开玩笑 - localeForage.createInstance 不是一个函数
- r - 列出目录中的所有文件,忽略符合模式的文件夹?特别是低于给定年份?
- android - ScrollView 中的 Android Recyclerview
- javascript - 遇到这个 API 的任何问题 console.log,我们不允许使用 JQuery 或 Bootstrap,所以我必须使用 fetch 和 bulma
- python - 从excel文件导入并添加到现有数据框
- r - 如何将条件指示符变量添加到 R 中的数据框?
- php - 如何使用 php curl 传递安全 cloudflare 服务器
- html - 如何使用省略号截断屏幕大小的文本
- react-native - 防止阅读视频 react native
- airflow - 如何在 Airflow 安装中创建触发器进程?