1

Jenkinsに一連のパラメーター化されたビルドがあります。ビルドするには、[今すぐビルド]をクリックして、パラメーターの値(この場合はGIT_TAG_NAME)を入力する必要があります。複数回入力せずにすべて同じパラメーターを使用する、これらのパラメーター化されたビルドのセットをトリガーしたいと思います。

他のすべてのビルドをトリガーするマスタービルドフローを作成することで、ビルドフロープラグイン(https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin)でこれを機能させようとしています。しかし、私はプラグインの構文を理解していないか、おそらくこれは不可能です。

私のDSLは次のようになります:

out.println "-------------------------" 
out.println 'Building all OTA builds at tag: '
out.println params["GIT_TAG_NAME"]
out.println "-------------------------"

build( "SomeOTA-Build-1", param1: params["GIT_TAG_NAME"] )
build( "SomeOTA-Build-2", param1: params["GIT_TAG_NAME"] )

printステートメントはパラメーターを正しく出力しますが、子ビルドはパラメーターが渡されないようです。

4

1 に答える 1

2

パラメータ化されたトリガープラグインを使用してみてください-

  1. パラメータを使用してJob-Aを設定しますGIT_TAG_NAME-これは「フロントエンド」です

  2. Job-B1Job-B2Job-B3を同じパラメータで設定します-GIT_TAG_NAMEこれらは実際の作業を行います

  3. Job-A他のプロジェクトでパラメーター化されたビルドをトリガーするように設定し(ビルド後のアクションで) 、現在のビルドパラメーターをトリガーされたジョブに
    渡します(派生ジョブごとにトリガーが必要です-同じまたは異なる条件で)


ここで、Job-Aを実行すると、他のジョブがリギングされ、値が.に渡されますGIT_TAG_NAME

編集:別のアプローチを使用するTIKAL
のプラグインがあります:マルチジョブプラグインは、すべてのジョブステップを1つの大きなジョブに絞り込もうとします (試したことがないため、このアプローチについてコメントすることはできません)。

最初のアプローチを採用する場合は、Joinプラグインを確認することをお勧めします
。このプラグインを使用すると、すぐ下のすべてのジョブが終了した後にジョブを実行できます。

于 2012-10-23T08:34:28.983 に答える