Jenkins 管道自动分支检测

Jenkins pipeline automatic branch detection

我正在将我的旧 Jenkins 自由式工作迁移到多分支管道。我也想和他们一起使用 GitLab hook。

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

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

ERROR: No parameterized job named XXX found.

在您的多分支作业配置中启用 "Build Periodcally",分支索引将自动启动。

您真正需要的是 GitLab 的分支源代码插件,带有 webhook 集成,在 JIRA 中被跟踪为 RFE。

否则,使用普通 Git 分支源并配置 GitLab 以将 Jenkins 通知发送到 /git/notifyCommit (IIRC),如 Git 插件 wiki 中所述.只需指定一个url,无需其他详细信息。索引此触发器的分支应该检测新的或删除的分支,以及对现有分支头部的更改,并相应地安排构建。

您可以在 GitLab 中为推送事件和 URL 设置 webhook,例如 http://<yourserver>/git/notifyCommit?url=<URL of the Git repository>

https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Pushnotificationfromrepository

GitLab 通知 Jenkins 推送事件,这也应该为多分支管道触发分支检测。

我没有收到我想要的答案,我今天 运行 进入这个问题,回答了这个问题:

https://github.com/jenkinsci/gitlab-plugin/issues/298

TLDR:尚不支持 Multi-b运行ch 管道,gitlab 提交很容易触发。有一个解决方法。看上面的link