2017-08-16 84 views
4

嗨,我有我需要幫助的項目流程。我有多個項目啓動一個全球項目,然後是一些其他項目,如果我同時啓動多個項目,問題是順序。例如,我有項目a和b,我同時啓動它們。我需要發生的事情。Jenkins項目訂單

  • A->全球 - > C-> d

完成後,再

  • B->全球 - > C-> d

但什麼實際發生在我的項目隊列中:

  • b
  • 全球
  • 全球
  • Ç
  • Ç
  • d
  • d

所以,我怎麼可以鎖定整個過程並沒有讓項目B進入到排隊直到c完成?

回答

3

嘗試那些2個選項(或2的混合):

  1. 使用觸發工作中所需要的順序包裝工作。爲此,您可以使用Jenkins pipeline (build step)作業或MultiJob或使您能夠控制作業順序和依存關係的任何插件。
  2. 通過使用Throttle Concurrent Builds Plugin阻止某些作業並行運行。
+0

謝謝你的建議。我有這些插件用於其他用途。也許我的問題還不夠清楚。當我開始A然後B我的隊列當前有A然後B.但是當完成它運行全局(在某些情況下,不是每次),並從屬性文件傳遞變量。我需要的是B等待A完成,如果它應該運行Global,那麼它將運行並且只有B。但是如果A不運行Global,那麼B是OK的。 – Dim

+0

在這種情況下,您必須使用Throttle Concurrent Builds插件來防止作業A和B同時運行,因此只有作業A完成後,作業B纔會啓動,這將解決您的問題。 – yorammi

+0

我使用Concurrent Builds Plugin,但在這個特定的問題中,它沒有幫助。我會盡力澄清我的問題。觸發器C完成。 B在結束時觸發C.當我運行A然後B時,我的隊列是A-> B-> C-> C(因爲B不知道A何時完成並觸發C)。我需要的是A-> C-> B-> C。 (你只能觸發A和B,但不能觸發C和C,它會在A或B的末尾觸發) – Dim