2017-10-06 26 views
1

目前,下面是詹金斯的工作是如何配置我們的系統如何根據文件類型觸發詹金斯工作

作業1 - >作業2 - >作業3 & JOB4

作業1 - 這被觸發一次SVN提交。 作業2 - 這是由作業1和SVN版本觸發輸入到作業2作業3 工作& 4 - >這些由工作2觸發並SVN版本號是由工作2輸入到這些

什麼我要找:

  1. 我希望Job1只有在SVN提交中有C代碼更改時才觸發Job2。如果有「否」C代碼更改,則應直接觸發作業3和作業4.
  2. 如果存在C文件更改,則現有流程應按原樣運行。

回答

0

這應該是JENKINS Conditional+BuildStep+Plugin

任務您可以添加/腳本上的一個步驟的條件,如果該條件的推移,這一步可以觸發其它作業(如作業2)。
如果不是,接下來的步驟可以trgger作業3和4

https://wiki.jenkins.io/download/attachments/58002645/screen-capture-1.jpg?version=1&modificationDate=1321296168000&api=v2

的OP婆在評論中補充說:

對於作業2,已經有即,基於一些有條件的步驟輸入從job1獲取,job2執行不同的腳本。
我想要這個C文件檢查的所有步驟之上。所以,如果這個檢查通過,它應該執行其他條件步驟。

然後,您可以在job1和job2之間插入一箇中間作業:它只會在您當前的測試中出現。但是在job1中,你的條件步驟應該只是測試SVN提交中的C代碼更改。並稱之爲「1.5」的中間工作。反過來,這將稱作job2。

如何檢查詹金斯克,如果SVN提交有C文件。

看一看的Pipeline utility steps:一旦SVN提交被檢查出來,你可以看看*.c文件在工作

+0

用於作業2,已經有一些有條件的步驟,在此基礎上,從獲得的輸入即job1,job2執行不同的腳本。 我希望這個C文件檢查所有步驟的頂部。所以,如果檢查通過,它應該執行其他條件步驟 – shiva

+0

@shiva然後,您可以在job1和job2之間插入一箇中間作業:它將在您當前的測試中出現。但是在job1中,你的條件步驟應該只是測試SVN提交中的C代碼更改。並稱之爲「1.5」的中間工作。反過來,這將稱作job2。 – VonC

+0

我會嘗試這種方法。如何從Jenkinsk檢查,如果SVN提交有C文件。我試着搜索它,但找不到正確的答案。 – shiva