1

我有 3 个作业(我们将其命名为 job1、job2、job3),它们都接受相同的参数。我有一个构建流程调用这些作业例如构建流程::

build(job1, param1 : "value1", param2 : "value2" )
build(job2, param1 : "value1", param2 : "value2" )
build(job3, param1 : "value1", param2 : "value2" )

正如您在示例中看到的,所有作业都接受相同的参数。

我想在构建流程(job1、job2、job3)中使用不同的参数值运行相同的序列。所以现在我有不同的构建流程来将不同的值传递给参数:

例如:

Build flow1---
build(job1, param1 : "value1", param2 : "value2" )
build(job2, param1 : "value1", param2 : "value2" )
build(job3, param1 : "value1", param2 : "value2" )

Build flow2---
build(job1, param1 : "value3", param2 : "value4" )
build(job2, param1 : "value3", param2 : "value4" )
build(job3, param1 : "value3", param2 : "value4" )

我正在考虑将构建流程共享并能够将参数传递给它:示例:::

Build flow
build(job1, param1 : $paramvalue1, param2 : $paramvalue2 )
build(job2, param1 : $paramvalue1, param2 : $paramvalue2 )
build(job3, param1 : $paramvalue1, param2 : $paramvalue2 )

我想用来自另一个构建流程的不同参数值来调用这个构建流程。

我可以这样做吗???如果是,, 1.如何定义和传递参数给流?

4

1 回答 1

1

您可以使用 Workflow Plugin 来实现您想要的。

  1. job1,job2并且job3必须是带有param1param2作为参数的参数化作业(它们可以是自由式作业或任何您想要的)。
  2. param1使用和param2作为参数创建参数化工作流作业。工作流脚本将是这样的:

    build job: 'job1', parameters: 
      [[$class: 'StringParameterValue', name: 'param1', value: param1],
       [$class: 'StringParameterValue', name: 'param2', value: param2]]
    build job: 'job2', parameters: 
      [[$class: 'StringParameterValue', name: 'param1', value: param1],
       [$class: 'StringParameterValue', name: 'param2', value: param2]]
    build job: 'job3', parameters: 
      [[$class: 'StringParameterValue', name: 'param1', value: param1],
       [$class: 'StringParameterValue', name: 'param2', value: param2]]
    
  3. 然后只需运行顶级作业,它会询问您的参数值和下游作业将被触发(并传递顶级参数)。

于 2015-09-30T16:48:38.237 回答