2016-12-05 75 views
7

我目前设置了一个基于Gitlab服务器上托管的Git存储库的Jenkins多分支管道作业。 Jenkins可以读取存储库中的分支,并为存储库中的每个分支创建一个作业。但我无法弄清楚如何用Gitlab中的webhook来触发这些工作。如何使用Gitlab触发Jenkins多分支管道Webhook

我的问题是:

  1. 我怎样才能我们Gitlab服务器触发詹金斯创建一个新的分支工作的?我无法看到正在推送的新分支的webhook。

  2. 我如何触发单个分支的实际构建作业?我只能为推送事件添加一个webhook,但是我必须添加我不知道如何执行的分支名称。

  3. 如何确保在推送到分支触发构建作业本身之前,Gitlab总是触发“创建分支作业”。

我试过到目前为止触发了多支工作,但这并没有影响,以下this post不会在所有的工作。

+1

我有同样的问题,你有没有触发与webhook建立工作 – baz

回答

3

您需要在Jenkins上安装Gitlab Plugin

这将在Jenkins上添加一个“/ project”端点。 (在Jenkins中查看=>管理Jenkins =>配置系统=> Gitlab)

现在在您的Gitlab项目中添加一个webhook => Settings => Integrations。 (或中老年Gitlab版本:Gitlab项目=>轮式图标=>集成,看来你需要在这种情况下,项目的所有者)

在网址:设置“HTTP:// yourjenkins.com/项目(/ 文件夹名称)?/ yourprojectname“就这些了,点击”添加Webhook“。

当你点击webhook上的测试时,它应该会触发你的jenkins管道构建。 (你应该有一个200 http响应)

它在Gitlab插件中无需身份验证即可运行,可以使用身份验证配置。

+0

这就是你所做的一切?如果我设置它,就像你描述的多分支管道一样,我在gitlab中得到了200个响应,但在jenkins中没有任何反应。我也有一些自由式的工作,他们工作就像你的描述... – CordlessWool

+0

@CordlessWool在你使用文件夹不要忘记将它添加到URL,并且你应该至少有一个分支与詹金斯文件。查看MultibranchPipeline作业中的“扫描多分支管道日志”按钮,可能会触发扫描,但发生其他事情。 – Antoine

+0

我在开发早午餐中有一个Jenkinsfile,并且已经运行了它,但触发不起作用。我还读了jenkins gitlab插件不支持多分支管道 – CordlessWool

相关问题