将一些值从一个作业传递到另一个作业

时间:2016-06-06 08:16:27

标签: jenkins groovy jenkins-plugins jenkins-workflow jenkins-pipeline

我有三个工作将在管道工作中构建,如下所示

build 'job1'
build 'job2'
build 'job3'

job2 可以使用2个参数。哪个应来自 job1 。 让 job1 在某个特定位置创建一个文件夹(例如; C:\ tests)。我需要将 job1 创建的文件夹名称传递给 job2 。我怎样才能做到这一点 ?

我还需要将相同的参数传递给 job3

我可以在job1和管道中做什么来发送和接收这些参数?

我不想编辑 job1 ,以便使用参数构建 job2 的后置构建选项。

3 个答案:

答案 0 :(得分:2)

来自job1:

env.SOMETHING = someValue

在job2中定义参数。在主要工作中,

def b1 = build 'job1'
def something = b1.buildVariables.SOMETHING
build job: 'job2', parameters: …

答案 1 :(得分:0)

由于您正在使用Pipeline,我将在Pipeline中定义目录名称,并将其作为参数传递到所有三个{{1}}步骤中。

答案 2 :(得分:0)

  

在我运行job1

之前,我不知道目录名称

并且因为您不需要任何后期构建操作。

你可以:

  1. 运行job1并将生成的目录存储在文本文件中
  2. 在job2和job3中,从该文件中读取所需的目录。