Jenkins Gitlab 集成 - 仅基于推送到主分支

问题描述 投票:0回答:1

我也有同样的疑问: 仅在推送到 master 时触发构建

只有那里的答案不正确。有人知道解决办法吗?在推送到除自身之外的任何其他分支上构建某个分支有什么意义?我想说的是,这应该真的是一件很常见的事情……

在“构建触发器”的高级部分中,有一个部分,看起来确实像这样:

enter image description here

但是,这对我不起作用。像这样,它根本不会触发构建。我也尝试只放在那里 master (没有星号),但这没有帮助。

如果我选择第一个选项(允许所有分支...),那么它会起作用,但显然所有对任何分支的推送都会触发在 master 上的构建,这是没有意义的。

jenkins gitlab
1个回答
0
投票

要将 GitLab 与 Jenkins 集成,我建议使用 Gitlab 插件

  1. 在 Jenkins 上安装 Gitlab 插件并配置 Gitlab 连接(管理 Jenkins -> 配置 -> Gitlab),为此您需要创建 GitLab API 令牌类型的新凭证。
  2. 在 Jenkins 作业配置中选择触发器
    Build when a change is pushed to GitLab
    (当您单击高级选项时,会出现秘密令牌,应与 Gitlab Webhooks 中的 Webhook URL 一起使用)。
  3. 在 Gitlab project Settings -> Integrations
    中添加 webhook
    (推送事件),使用来自 Jenkins 作业的 url 和令牌,并按分支名称过滤它们

更新:所以我最初的观点是过滤 GitLab 上的推送事件,这样 Jenkins 就不需要这样做,但正如你所指出的,它也应该与 Jenkins 过滤器一起使用。

我尝试在工作中过滤分支,詹金斯在我开始输入后显示带有建议分支的下拉列表,然后当我选择分支时会出现一个标签

Matching 1 branch
Filter Jenkins push trigger 另一方面,在您的屏幕截图中,有一些
ERROR
指示器,这表明您的 GitLab 连接配置不正确。我建议去测试你与 GitLab 的连接并修复它。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.