This plugin provides integration between
- Jenkins and Docker Hub
- Jenkins and Docker Registry 2.0
, utilizing webhooks to trigger one (or more) Jenkins job(s). This allows you to implement continuous delivery pipelines based on Docker in Jenkins.
Upon receiving a new image notification, Jenkins will trigger all jobs that have the Docker Hub/Registry trigger
enabled and use the incoming Docker image as part of the Build. A DockerHub 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 http://JENKINS/dockerhub-webhook/notify
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 http://JENKINS/dockerregistry-webhook/notify
The simplest viable configuration looks like this:
notifications:
endpoints:
- name: jenkinslistener
url: http://JENKINS/dockerregistry-webhook/notify
timeout: 500ms
threshold: 5
backoff: 1s
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