まだ Workflow Plugin 使えてないので、別の方法を紹介します。
Groovy Label Assignment plugin
Groovy Label Assignment plugin を使います。このプラグインを使うと Groovy を使って、
動的に実行ラベルを設定することができます。
ジョブの設定ページを開くと、
「Groovy スクリプトで実行するノードを制限」があるので有効にし、スクリプトを入力します。
文字列を返すとそれが新しいラベル式になります。なにも返さなかった場合は、もとのラベル式が使われます。
前回実行ノードを除外するときは、こんな感じに書きます。
def label = currentJob.assignedLabel
def last = currentJob.getLastBuild()
if( last == null ) return
def node = last.getBuiltOnStr()
if( node == null || node == "" ) node = "master"
if( node )
return "${label}&&!" + node
さまざまなスレーブでまんべんなく実行したい場合はマトリックスを組むのが良いですが、この方法も覚えておくと便利かもしれません。
0 件のコメント:
コメントを投稿