2016-12-05 76 views
7

我目前設置了一個基於Gitlab服務器上託管的Git存儲庫的Jenkins多分支管道作業。 Jenkins可以讀取存儲庫中的分支,併爲存儲庫中的每個分支創建一個作業。但我無法弄清楚如何用Gitlab中的webhook來觸發這些工作。如何使用Gitlab觸發Jenkins多分支管道Webhook

我的問題是:

  1. 我怎樣才能我們Gitlab服務器觸發詹金斯創建一個新的分支工作的?我無法看到正在推送的新分支的webhook。

  2. 我如何觸發單個分支的實際構建作業?我只能爲推送事件添加一個webhook,但是我必須添加我不知道如何執行的分支名稱。

  3. 如何確保在推送到分支觸發構建作業本身之前,Gitlab總是觸發「創建分支作業」。

我試過到目前爲止觸發了多支工作,但這並沒有影響,以下this post不會在所有的工作。

+1

我有同樣的問題,你有沒有觸發與webhook建立工作 – baz

回答

3

您需要在Jenkins上安裝Gitlab Plugin

這將在Jenkins上添加一個「/ project」端點。 (在Jenkins中查看=>管理Jenkins =>配置系統=> Gitlab)

現在在您的Gitlab項目中添加一個webhook => Settings => Integrations。 (或中老年Gitlab版本:Gitlab項目=>輪式圖標=>集成,看來你需要在這種情況下,項目的所有者)

在網址:設置「HTTP:// yourjenkins.com/項目(/ 文件夾名稱)?/ yourprojectname「就這些了,點擊」添加Webhook「。

當你點擊webhook上的測試時,它應該會觸發你的jenkins管道構建。 (你應該有一個200 http響應)

它在Gitlab插件中無需身份驗證即可運行,可以使用身份驗證配置。

+0

這就是你所做的一切?如果我設置它,就像你描述的多分支管道一樣,我在gitlab中得到了200個響應,但在jenkins中沒有任何反應。我也有一些自由式的工作,他們工作就像你的描述... – CordlessWool

+0

@CordlessWool在你使用文件夾不要忘記將它添加到URL,並且你應該至少有一個分支與詹金斯文件。查看MultibranchPipeline作業中的「掃描多分支管道日誌」按鈕,可能會觸發掃描,但發生其他事情。 – Antoine

+0

我在開發早午餐中有一個Jenkinsfile,並且已經運行了它,但觸發不起作用。我還讀了jenkins gitlab插件不支持多分支管道 – CordlessWool

相關問題