我將我的舊Jenkins自由風格工作遷移到多分支管道。我也想用它們來使用GitLab鉤子。Jenkins管道自動分支檢測
我的問題是分支檢測。我正在手動做,但我希望它是自動的:當一個新的分支被推到git時,如果GitLab的分支參數此刻不爲Jenkins所知,GitLab會觸發一個觸發分支檢測的Jenkins作業。這是可能做到或者不存在?
FYI:我嘗試啓動多分支管道的工作,但詹金斯說:
ERROR: No parameterized job named XXX found.
我將我的舊Jenkins自由風格工作遷移到多分支管道。我也想用它們來使用GitLab鉤子。Jenkins管道自動分支檢測
我的問題是分支檢測。我正在手動做,但我希望它是自動的:當一個新的分支被推到git時,如果GitLab的分支參數此刻不爲Jenkins所知,GitLab會觸發一個觸發分支檢測的Jenkins作業。這是可能做到或者不存在?
FYI:我嘗試啓動多分支管道的工作,但詹金斯說:
ERROR: No parameterized job named XXX found.
我沒有收到我想要的答案,我今天就遇到了這個問題,在回答這一問題:
https://github.com/jenkinsci/gitlab-plugin/issues/298
TLDR:多分支管道,不支持尚未承諾被觸發gitlab容易。有一個解決方法。看看上面的鏈接。
在多分支作業配置啓用「構建Periodcally」和分支的索引將自動啓動。
你真正需要的是一個帶有webhook集成的GitLab的分支源插件,它在JIRA中被作爲一個RFE進行跟蹤。
如果失敗了,請使用普通的Git分支源,並配置GitLab將Jenkins通知發送到/git/notifyCommit
(IIRC),如Git插件wiki中所述。只需指定一個url
,不需要其他細節。分支索引這個觸發器既應該檢測新的或已移除的分支,也要改變現有分支的頭部,並相應地調度構建。
您可以在GitLab中爲推送事件和URL如http://<yourserver>/git/notifyCommit?url=<URL of the Git repository>
設置webhook。
見https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Pushnotificationfromrepository
GitLab通知詹金斯應對其觸發分支檢測也爲多分支管道推事件。
當然,但是當gitlab將在新分支上觸發一個新的提交時,它會失敗,因爲我的作業將嘗試找到由該分支的管道生成的作業,因爲未運行分支檢測而不存在。 – bobkilla
那麼您對多分支管道中的分支包含哪些濾鏡? – mrkernelpanic