如何使用GitLab WebHook触发Jenkins多分支管道

人气:531 发布:2022-10-16 标签: git jenkins gitlab jenkins-pipeline multibranch-pipeline

问题描述

我目前设置了一个Jenkins多分支管道作业,该作业基于我们的GitLab服务器上托管的Git存储库。Jenkins可以读取存储库中的分支,并为存储库中的每个分支创建作业。但我想不出如何在GitLab中使用网络挂钩触发作业。

我的问题是:

如何从我们的GitLab服务器在Jenkins中触发创建新的分支作业?我看不到正在推送新分支的网络挂钩。

如何触发单个分支的实际生成作业?我只能添加推送事件的WebHook,但之后我必须添加分支机构名称,但我不知道如何操作。

如何确保GitLab始终在推送到分支触发生成作业本身之前触发"创建分支作业"。

到目前为止,我尝试的是触发多分支作业,但这没有任何效果,this post根本不起作用。

推荐答案

您需要在Jenkins上安装Gitlab Plugin。

这将在Jenkins上添加/project终结点。(参见Jenkins=>管理Jenkins=>配置系统=>GitLab)

现在在您的GitLab项目=>设置=>集成上添加一个Web钩子。(或者在较早的GitLab版本中:GitLab项目=>车轮图标=>集成,在这种情况下,您似乎需要成为项目的所有者)

在URL中:设置http://*yourjenkins.com*/**project**(/*foldername*)?/*yourprojectname*,然后点击"Add WebHook"。

当您在Web钩子上单击测试时,它应该会触发您的Jenkins管道构建。(您应该有200个http的响应)

在GitLab插件中无需身份验证即可工作,欢迎使用身份验证进行配置。

706