Jenkins管道自动分支检测

时间:2016-06-08 13:08:48

标签: jenkins gitlab jenkins-pipeline jenkins-2

我正在将旧的Jenkins自由式作业迁移到多分支管道。我也想用它们使用GitLab钩子。

我的问题是分支检测。我是手动完成但是我希望它是自动的:当一个新的分支被推送到git时,如果目前Jenkins不知道GitLab的分支参数,GitLab会触发一个触发分支检测的Jenkins作业。这可能是这样做还是不存在?

仅供参考:我尝试启动多分支管道工作,但Jenkins说:

ERROR: No parameterized job named XXX found.

4 个答案:

答案 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提交尚不支持多分支管道。有一个解决方法。看看上面的链接。