我将我的旧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