Jenkins的job和job中间传递参数

时间:2024-03-16 19:59:55

有时候需要将上游job的某些值传递到下游job中使用,自己使用的几种方法记录一下。

场景一、job之间的变量传递

当有两个job,jobA进行代码编译,jobB进行环境部署。我们需要先进行jobA执行,执行成功之后再执行jobB 如果两个job之间不需要有变量的传递,那么可以选择:Build other projects

Jenkins的job和job中间传递参数

但是如果需要传递参数选择Trigger parameterized build on other projects(需要有插件:Parameterized Trigger Plugin)

Jenkins的job和job中间传递参数

1.使用插件Parameterized Trigger Plugin

Jenkins的job和job中间传递参数

 

 

插件可以实现Job间参数传递但是有局限性,我们只能选择传递当前build的参数或者环境变量。而且这个变量只能是上级job中参数化时传入的,shell中进行了修改也不会改变。如果要传递一个自定义的变量怎么办呢? 构建步骤中的自定义变量在执行结束后都会被回收,我们不可能在"predefined parameters"中取到。

 

2.使用保存文件的方式

执行jobA的时候将需要的变量存在一个var.txt中,jobB需要使用时就将到这个目录下,获取文件中的内容

或者使用一个从文件中获取的插件:Extended Choice Parameter

Jenkins的job和job中间传递参数

 

使用绝对路径  文件test.txt内容:sid=fshdfkhsdjkfhsfsdhjkfh

Jenkins的job和job中间传递参数

 jobA保存的sid就能给jobB使用

https://www.cnblogs.com/junneyang/p/5239480.html