1

私は2つの別々のノードでjenkinsをセットアップしています。複数のジョブを呼び出す親ジョブもあります。これらのジョブの 1 つは、親ジョブのビルド中に複数回呼び出されます (残りのジョブ間でワークスペースのクリーニングを行います)。

このジョブのビルドを特定のノードに動的に関連付けることが可能かどうかを知りたいですか?

前述したように、ジョブはワークスペースをクリーンアップしますが、親ジョブのビルド中に両方のノードでそれを行う必要があることは明らかです。また、まったく同じことを行う 2 つの別個のジョブを作成したくありません。唯一の違いは、それぞれを異なるノードに静的に関連付けるチェックボックスです。私の問題の解決策はありますか?

4

2 に答える 2

2

ノード ラベル プラグインとパラメーターの追加を検討する

これにより、「ラベル」がパラメーターになります。このパラメーターを渡すロジックを小さくすることができます。

于 2015-09-06T04:46:03.310 に答える
0

この種の特殊なタスクは、ワークフロー プラグインを使用してより簡潔に行うことができます。

node('first') {
  sh 'rm -rf *' // or when 1.11 released: deleteDir()
  // more work…
}
node('second') {
  sh 'rm -rf *'
  // …
}

または、parallelステップを使用してこれらを同時に実行することもできます。

を使用buildして、さまざまな方法で他のプロジェクトのビルドを開始することもできますが、1 つのスクリプトでプロセス全体を確認できるという利点が失われ、ダウンストリーム ビルドで使用されている正確なワークスペースを制御できなくなる可能性があります (特に同時対応とマークされている場合)。

于 2015-09-11T13:36:59.813 に答える