This plugin provides integration between
- Jenkins and Docker Hub
- Jenkins and Docker Registry 2.0
It does so by utilizing webhooks to trigger one (or more) Jenkins job(s). This allows you to implement continuous delivery pipelines based on Docker in Jenkins.
When Jenkins receives a notification of an updated image that is a web-hook from Docker Hub, it triggers all jobs that have the Docker Hub trigger enabled and use the Docker image as part of the build. A Docker Hub Pull build step is provided to retrieve the latest image from Hub.
Configure your Docker Hub repository with a webhook to your public jenkins instance
In your hub.docker.com repository, you can find the "webhooks" section and point it to your jenkins instance:
Follow Docker Registry 2.0 documentation on how to configure registry so that it would send notifications to
The simplest viable configuration looks like this:
notifications: endpoints: - name: jenkinslistener url: http://JENKINS/dockerregistry-webhook/notify timeout: 500ms threshold: 5 backoff: 1s
You can find a detailed guide on how to configure webhooks on ACR on docs.microsoft.com. Use
http://JENKINS/acr-webhook/notify as a "Service URI".
Payloads submitted by the hub:
Payloads submitted by the registry:
The plugin can be tested with
curl -X POST -H "Content-Type: application/json" http://localhost:8080/jenkins/dockerhub-webhook/notify -d @src/test/resources/public-repository-payload.json