我正在将旧的Jenkins自由式作业迁移到多分支管道。我也想用它们使用GitLab钩子。
我的问题是分支检测。我是手动完成但是我希望它是自动的:当一个新的分支被推送到git时,如果目前Jenkins不知道GitLab的分支参数,GitLab会触发一个触发分支检测的Jenkins作业。这可能是这样做还是不存在?
仅供参考:我尝试启动多分支管道工作,但Jenkins说:
ERROR: No parameterized job named XXX found.
答案 0 :(得分:0)
启用"定期构建"在您的multibranch作业配置中,分支索引将自动启动。
答案 1 :(得分:0)
你真正需要的是一个带有webhook集成的GitLab的分支源插件,它在JIRA中被跟踪为RFE。
如果失败,请使用普通的Git分支源并配置GitLab将Jenkins通知发送到add_filter(manage_edit-posttype_columns, yourFunction)
(IIRC),如Git插件wiki中所述。需要仅指定/git/notifyCommit
,不需要其他详细信息。索引此触发器的分支应检测新分支或已删除分支,并更改现有分支的头部,并相应地调度构建。
答案 2 :(得分:0)
您可以在GitLab中为推送事件和http://<yourserver>/git/notifyCommit?url=<URL of the Git repository>
等网址设置webhook。
请参阅https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Pushnotificationfromrepository
GitLab通知Jenkins推送事件,这也应该触发多分支管道的分支检测。
答案 3 :(得分:0)
我没有得到我想要的答案,今天我遇到了这个问题回答了这个问题:
https://github.com/jenkinsci/gitlab-plugin/issues/298
TLDR:gitlab提交尚不支持多分支管道。有一个解决方法。看看上面的链接。