Groovy Label Assignment plugin は「ブログズミ: [Jenkins] 同じノードで繰り返し実行されないようにする方法」で紹介をしました。
この2つを組み合わせることで、ノードをパラメータとしつつ、実行ノードは別にすることにできます。
どういうことかと言うと、
「NodeLabel Parameter Plugin」はノードをパラメータにできます。
右のようなに、ノードがリストで選べるので非常に便利です。
そして、このパラメータで選ばれたノードは、実行ノードとして利用されます。通常利用の範囲ではこの動作で問題ないと思うのですが、たまーに実行ノードを別にしたいことがあります。
(私の場合、メンテナンス系のジョブで必要になりました。)
そこで、「Groovy Label Assignment plugin」の出番です。
設定
ジョブの設定で「Groovy スクリプトで実行するノードを制限」を以下のようにします。def label = currentJob.assignedLabel return label
これで「NodeLabel Parameter Plugin」に上書きされるラベル式を、「実行するノードを制限」の設定に戻すことができます。
実行
実際に実行するとこんな感じです。slave3 をパラメータとして実行。
まとめ
ノード選択でも Groovy の力を借りると幅が広がります。Groovy Label Assignment plugin をぜひお試しください。
0 件のコメント:
コメントを投稿