有时候需要将上游job的某些值传递到下游job中使用,自己使用的几种方法记录一下。
场景一、job之间的变量传递
当有两个job,jobA进行代码编译,jobB进行环境部署。我们需要先进行jobA执行,执行成功之后再执行jobB 如果两个job之间不需要有变量的传递,那么可以选择:Build other projects
但是如果需要传递参数选择Trigger parameterized build on other projects(需要有插件:Parameterized Trigger Plugin)
1.使用插件Parameterized Trigger Plugin
插件可以实现Job间参数传递但是有局限性,我们只能选择传递当前build的参数或者环境变量。而且这个变量只能是上级job中参数化时传入的,shell中进行了修改也不会改变。如果要传递一个自定义的变量怎么办呢? 构建步骤中的自定义变量在执行结束后都会被回收,我们不可能在"predefined parameters"中取到。
2.使用保存文件的方式
执行jobA的时候将需要的变量存在一个var.txt中,jobB需要使用时就将到这个目录下,获取文件中的内容
或者使用一个从文件中获取的插件:Extended Choice Parameter
使用绝对路径 文件test.txt内容:sid=fshdfkhsdjkfhsfsdhjkfh
jobA保存的sid就能给jobB使用