2016-09-21 196 views
1

我有一個管道作業,檢出git存儲庫(讓我們 調用是「repoA」),並將它傳遞給其他下游作業 進一步處理。上游作業的腳本存儲在不同的 git repo中(我們稱之爲「repoB」)。此作業配置了「Poll SCM」選項,以便對repoA進行任何更改都會觸發它。在管道部分,我選擇了「來自SCM的管道腳本」選項,並將其配置爲從repoB的主分支獲取管道腳本。我還添加了「不觸發構建在提交通知上」選項。我期望的行爲是任何推送到repoA的更改都會觸發作業 ,而對repoB的任何更改都不會觸發作業。但是,當我將 更改爲repoB時,作業被觸發。Jenkins構建被觸發,儘管「不觸發構建的提交通知」

我不知道這是一個錯誤,還是我錯過了一些東西。

我正在運行Jenkins 2.7.4。我的主Jenkins在Ubuntu服務器16.04.1 LTS上運行。我所有的Jenkins插件都是最新的。

回答

1

與詹金斯郵件列表的交換之後,我現在明白了更好的東西怎麼那麼在這裏工作是我不得不在案件做其他人需要它:

  • 創建一個git鉤來通知詹金斯改變一直致力於/推:我們的目的,我們創建了一個後收到鉤上的遠程
  • 你的工作啓用輪詢,但留下的時間表空
  • 在管道部分,其配置爲從您的git拉Groovy腳本回購(在我的例子中是repoB),但不要添加行爲:「不要觸發構建的提交通知「
  • 確保查詢的方式,當你檢出你的Git倉庫(在我的例子是repoA)在你的腳本:在默認情況下,如果你不指定它

據我瞭解啓用,選項「不觸發建立在提交通知上」是用於通知來自掛鉤而不是來自作業輪詢計劃的通知,正如我第一次想到的那樣。

+0

您如何獲得Jenkins未通過簽入repoB來啓動構建的行爲?我的構建仍然會通過兩個回購簽入開始,但我只希望通過簽入repoA開始。計劃已啓動,但沒有計劃時間。 – ansib