2013-02-22 74 views

回答

1

奇怪的規定採取從下線的步驟,但我尊重它:)

香檳力 - 如果你想把奴隸拿出來,你可以從該奴隸上運行的批處理文件中殺死它(殺死java進程)。在批處理文件中使用taskkill(在命令行上運行taskkill /?查看使用情況),您應該使用start命令(請參閱start /?以查看使用情況)在作業中分叉。

另外,請看thisthis post。看起來像你的一個更好的控制類似的需要。

希望這會有所幫助。

+0

感謝您的想法。不是很優雅,但應該做的工作! – 2013-02-26 19:11:42

0

是否想讓機器僅在命令提示符下脫機?否則,你可以使用groovy post build步驟來編寫簡單的腳本來讓每臺機器脫機。從命令提示符下,除非使用某些電源外殼實用程序,否則您將無法訪問其他從屬設備。

1

老問題,但這裏有一些其他方法,我已經考慮過(並嘗試過)。我們有一個工作來監視構建機器,並在從機脫機或磁盤空間不足時調用尋呼機負載。在我們的環境中強制使機器脫機是有問題的。

  1. 您可以更改機器上的標籤,以便其他作業不再選擇它,而不是刪除從機(例如將其取消或使其脫機)。這可以用groovy來完成。 CAVEAT:標籤更改似乎需要一段時間才能傳播,因此機器仍可能被選中。

  2. 使用Conditional Build Step插件並在失敗時使用groovy使機器脫機。注意:我還沒有測試過這個時髦...它是舊的。

    manager.build.getBuiltOn().toComputer.setTemporarilyOffline(true) 
    
  3. ,而不是花機下線,你能有這樣的作業運行永遠(睡眠,睡眠,休眠) - 也不會是脫機狀態,但將不提供任何不再做其他工作選擇它。同時,它可以繼續重試恢復。

  4. 還有一個Node Stalker插件,它允許下游作業作爲上游作業在同一節點上運行。這樣當發生故障時,您的下游工作可以進行清理。然而,有一個輕微的風險,即計劃失敗的機器的另一項工作首先進入。