1

私は 3 つのジョブ (ジョブ 1、ジョブ 2、ジョブ 3 と名付けましょう) を持っていますが、これらはすべて同じパラメーターを受け入れます。これらのジョブを呼び出すビルド フローがあります。例: Build Flow::

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

ワークフロー プラグインを使用して、目的を達成できます。

  1. job1job2およびパラメーターとしてパラメーター化され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 に答える