You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins中触发自定义(非master)分支的任务自动启动?

在GitLab中配置Jenkins触发自定义分支构建的解决方法

嘿,这个问题我之前踩过坑!GitLab那个默认的Jenkins CI集成页面确实有点误导人,它默认只展示master分支的配置,但其实咱们有两种靠谱的方式来触发自定义分支(比如dev)的Jenkins构建:

方法一:使用GitLab通用Webhook(推荐,灵活度更高)

这是目前最通用的方案,不用依赖GitLab那个专门的Jenkins CI集成入口:

  1. 先搞定Jenkins端的配置
    • 如果你的Jenkins项目还没支持多分支,先把项目改成「多分支流水线」或者在普通项目里配置好可以拉取dev分支的代码。
    • 安装并启用Generic Webhook Trigger插件(Jenkins插件市场直接搜就行),然后在项目的「构建触发器」里勾选这个插件,设置好触发规则——比如可以提取GitLab推送请求里的分支参数,确保只触发对应分支的构建。
  2. 在GitLab里配置通用Webhook
    • 进入GitLab项目的「设置」→「Webhooks」(注意不是「Jenkins CI集成」那个页面),点击「添加Webhook」。
    • URL:填Jenkins的通用Webhook触发地址,格式是 http://你的Jenkins域名/端口/generic-webhook-trigger/invoke
    • 触发事件:只勾选「Push events」就行。
    • 分支过滤器:输入你要触发的分支名,比如 dev(支持正则,比如要匹配所有feature分支可以写 feature/*)。
    • 按需勾选「Enable SSL verification」(如果Jenkins用的是HTTPS),然后点击「保存」。
  3. 测试验证:往dev分支推一次代码,看看Jenkins是不是自动触发了对应的构建。

方法二:手动构造分支触发的URL(适合老版本GitLab/Jenkins)

如果不想装额外插件,也可以手动构造Jenkins的分支触发URL:

  1. 在Jenkins项目里设置构建令牌
    • 进入Jenkins项目的「构建触发器」,勾选「Trigger builds remotely (e.g., from scripts)」,设置一个令牌(比如 DEV_BUILD_TOKEN)。
  2. 构造触发URL
    • 格式是 http://你的Jenkins域名/端口/job/你的项目名/buildWithParameters?token=DEV_BUILD_TOKEN&branch=dev
      (这里的branch参数要和你Jenkins项目里用来指定分支的参数名一致,有些项目可能用BRANCH_NAME,根据自己的配置调整)
  3. 在GitLab里添加Webhook
    • 同样去「设置」→「Webhooks」,把上面的URL填进去,触发事件选「Push events」,分支过滤器填dev,保存后测试即可。

额外注意事项

  • 确保GitLab服务器能访问到Jenkins的地址(防火墙、端口要开放)。
  • 如果用Jenkins的多分支流水线项目,Jenkins本身会自动扫描GitLab的分支并创建对应的任务,这时候只要GitLab的Webhook触发所有分支推送,Jenkins会自动构建对应的分支,不用单独配置每个分支。
  • 检查Jenkins的项目权限,确保GitLab的Webhook请求有构建该项目的权限。

内容的提问来源于stack exchange,提问作者GTXBxaKgCANmT9D9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:19:57