1
0
drone-ci-alpine-docker-image/docker-remote-tag

18 lines
540 B
Bash

#!/bin/bash
# Tags an already existing image version in a remote registry without needing to pull/push the whole image
#
# Usage:
# /bin/docker-remote-tag <repo-name> <existing-tag> <new-tag>
#
REPOSITORY="$1"
TAG_OLD="$2"
TAG_NEW="$3"
CONTENT_TYPE="application/vnd.docker.distribution.manifest.v2+json"
MANIFEST=$(curl -H "Accept: ${CONTENT_TYPE}" "${DOCKER_REGISTRY}/v2/${REPOSITORY}/manifests/${TAG_OLD}")
curl -X PUT -H "Content-Type: ${CONTENT_TYPE}" -d "${MANIFEST}" "${DOCKER_REGISTRY}/v2/${REPOSITORY}/manifests/${TAG_NEW}"