From 0df03c3b048fa38b8f33c4a2b0aeb463617c796e Mon Sep 17 00:00:00 2001 From: Tom Page Date: Mon, 16 Jul 2018 15:49:36 +0100 Subject: [PATCH] RM-6428 Add script to handle tagging with the image digest. --- scripts/pushDockerDigestTag.sh | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 scripts/pushDockerDigestTag.sh diff --git a/scripts/pushDockerDigestTag.sh b/scripts/pushDockerDigestTag.sh new file mode 100644 index 0000000000..a705eb9e0e --- /dev/null +++ b/scripts/pushDockerDigestTag.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +scriptName=`basename "$0"` + +if [ "$#" -ne 2 ]; then + echo "Usage: ${scriptName} " + exit 1 +fi + +echo "${scriptName} called with:" +image=$1 +echo " image: $image" +existingTag=$2 +echo " existingTag: $existingTag" + +DIGEST_LENGTH=12 + +# Note that this command should work even if the image is already present locally. +digest=`docker pull ${image}:${existingTag} | grep "Digest:" | awk -F':' '{print $3}' | cut -c 1-$DIGEST_LENGTH` + +if [ ${#digest} != $DIGEST_LENGTH ] +then + echo "Unexpected length for digest: '$digest'" + exit 1 +fi + +newTag=${existingTag}_${digest} +docker tag ${image}:${existingTag} ${image}:${newTag} +docker push ${image}:${newTag} + +echo "Pushed ${image}:${existingTag} to ${image}:${newTag}"