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

如何配置Jenkins实现Docker镜像推送至Registry后自动触发部署?

实现Docker Registry推送镜像自动触发Jenkins任务的配置步骤

一、Jenkins端配置

1. 安装必备插件

在Jenkins的「插件管理」中搜索并安装 Generic Webhook Trigger 插件,用于接收Docker Registry发送的Webhook请求并触发任务。

2. 配置任务触发规则

打开已有的部署任务,进入「配置」页面:

  • 找到「构建触发器」板块,勾选「Generic Webhook Trigger」
  • 在「Token」输入框中设置自定义触发令牌(比如docker-deploy-token-123),该令牌需和后续Registry的Webhook配置保持一致
  • (可选)若需验证请求合法性,可添加「Header参数」或「Secret」做签名校验,新手阶段可先跳过,优先保证基础功能可用

二、Docker Registry端配置

根据你使用的Registry类型选择对应配置方式:

1. Docker Hub

  • 进入镜像仓库页面,点击顶部「Webhooks」选项
  • 点击「Add webhook」,填写信息:
    • Payload URL:http://<Jenkins服务器IP>:<Jenkins端口>/generic-webhook-trigger/invoke?token=<你设置的令牌>
    • Trigger events:选择「Push event」(仅镜像推送时触发)
  • 点击「Save」完成配置

2. 私有Registry(以Harbor为例)

  • 登录Harbor控制台,进入目标项目,点击左侧菜单「Webhooks」
  • 点击「+ New Webhook」,填写:
    • Target URL:上述Jenkins Webhook地址
    • Event Type:勾选「Artifact pushed」(镜像推送事件)
  • 保存配置即可

3. 自建Docker Registry

  • 修改Registry配置文件(通常为config.yml),添加通知端点配置:
notifications:
  endpoints:
    - name: jenkins-trigger
      url: http://<JenkinsIP>:<JenkinsPort>/generic-webhook-trigger/invoke?token=<你的令牌>
      timeout: 500ms
      threshold: 5
      backoff: 1s
      events:
        - push
  • 重启Registry服务使配置生效

三、功能验证

推送新镜像版本到Registry,查看Jenkins任务的「构建历史」,确认任务是否自动触发。若未触发,排查以下点:

  • Jenkins服务器端口是否对外开放,Registry能否正常访问Jenkins地址
  • Webhook配置的令牌是否和Jenkins任务中的一致
  • Generic Webhook Trigger插件是否正常启用
  • Registry的Webhook日志(部分Registry提供该功能)是否有请求发送记录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 11:33:24