I tried out the Docker Hub post_push hook script today with my automated build and it works great. This link has all the details around more advanced Docker Hub build scripting.
What I tried using the post_push script for was to tag my mainline build (latest) with another specific tag (release).
Steps to implement:
- Create a hooks folder in my GitHub repo.
- Create a script called “post_push” under the hooks folder that will tag the latest image with my release number.
#!/bin/bash
set -e
tagStart=$(expr index “$IMAGE_NAME” 🙂
repoName=${IMAGE_NAME:0:tagStart-1}
docker tag $IMAGE_NAME ${repoName}:18.3.1
docker push ${repoName}:18.3.1
The end results is the following:
So a possible use-case would be to have a Jenkins job that gets triggered when your Dockerfile changes in GitHub and updates the release version in the “post_push” script, then triggers the Docker Hub job.