2017-08-14 63 views
2

詹金斯的任何版本。詹金斯 - 如何暫停排隊作業的運行並讓新版本優先

我有兩個版本:1.642.3或2.32.3

我有詹金斯工作職吧。假設這項工作將工件部署到目標部署服務器。

  • 它需要兩個參數,工件名稱和目標部署服務器。
  • 執行併發構建當前被禁止,即不檢查標記。

假設我推出多個手動建立在這個工作-OR經由詹金斯CLI -OR通過REST API方式(即通過一些自動化/集成/父上游作業調用此作業)。

  • 我現在看到,有一個詹金斯建立正在進行 - 和 - 所有其它N- 沒有。的運行在「排隊的」模式。

假設我已經接近100+這種建立在隊列(準備儘快正在進行中的一個完成推出),我想看看是否有一種方法可以讓我暫停現有的排隊構建PS:我不想取消它們)啓動一個新的構建(我想緊急部署),一旦完成,解包排隊的構建(以便我沒有取消全部重新提交/重新構建它們記住w帽子是參數通過 - 對於工件名稱和目標部署服務器)。

我的3個條件:

1)我的一個現狀就是這個作業正在運行的服務器是一個詹金斯主/從機(其中有一些憑證,不能採取其他機器即我不能複製源詹金斯機器(作業是作爲奴隸(s)運行,因此,我不能使用一堆奴隸)和

2)此作業還創建一些運行時文件夾/文件在源機器上的一個公共位置,如果啓用「執行併發構建」,我不想通過運行並行/並行構建來覆蓋它。我知道,併發構建的工作空間對於每個作業運行都是獨立的,但是如果作業在運行期間創建公用文件夾/文件,則不適用。

3)我不想創建這個工作:)副本

在一個句子,是否有可能要暫停現有排隊建立(或一些排隊的版本),這樣我就可以發射新的構建或使其他構建優先作爲下一個構建,然後解除暫停的構建(恢復啓動而不需要重新啓動)?

回答

1

您可以使用Priority Sorter Plugin
將新的字符串參數添加到作業中,例如BUILD_PRIORITY並將默認值設置爲2。然後在Job Priorities菜單中選擇Use Priority from Build Parameter優先策略並將該參數放在那裏。 priority configuration

現在你可以運行100+作業使用默認BUILD_PRIORITY參數值(2),如果你需要啓動一個新的構建迫切只是設置參數爲1,這將是在隊列中的第一個版本。

+0

@VitalliVitrenko看起來我很快,並沒有多少注意'優先分揀機插件'。感謝Vitalli,看起來這樣做會訣竅。 –