首页 > 解决方案 > 我们可以在 Gitlab 存储库中设置 Gitlab webhook 以触发不同分支的不同 Jenkins 构建作业吗?

问题描述

我正在尝试在 Jenkins 中为 Gitlab 存储库的不同分支设置不同的构建作业。我正在使用 Gitlab web hook 来触发构建。

以下是我在 Gitlab 中为 Jenkins CI 设置 Web 挂钩的步骤

  1. 前往项目
  2. 设置 --> 集成
  3. 在“项目服务”下,我选择了“Jenkins CI”
  4. 现在我检查了“活动”复选框
  5. 詹金斯网址:<jenkins url>
  6. 项目名称 :<jobname_on_jenkins>

并提供了凭据。

在 Jenkins 中,我选择了“构建触发器”下,我选择了

“将更改推送到 GitLab 时构建”并提供分支过滤器。

现在,在 Jenkins 中,我创建了另一个使用分支过滤器作为不同分支名称的工作。

现在我的问题是,当特定分支发生变化时,我如何在 Gitlab 中设置 Web 挂钩以触发不同的 Jenkins 作业。我尝试为 Jenkins CI 的 Gitlab Web 挂钩中的“项目名称”字段提供逗号分隔的作业名称,但它不允许在那里使用逗号分隔的值。

其他详情:

Gitlab 版本:GitLab 企业版 10.8.7-ee 075705a

詹金斯版本:2.138.3

Jenkins 上安装的插件:Gitlab、Gitlab webhook

标签: gitlabjenkins-pipelinewebhooks

解决方案


只需使用两个 webhook - 在字段分支名称中指定分支的名称


推荐阅读