Commit f2eb7b15 authored by Дмитрий Сафронов's avatar Дмитрий Сафронов
Browse files

Merge branch 'error-messages' into 'master'

Error messages

See merge request !2
parents 341fdd4c bac40866
Loading
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -23,16 +23,17 @@ test -z "${REGISTRY_TAG_NEW}" && REGISTRY_TAG_NEW=latest
test -n "${TO_DIE}" && exit 1
##########################################################################################################################

TEMPFILE="$(mktemp)"
CONTENT_TYPE="application/vnd.docker.distribution.manifest.v2+json"

TOKEN="$(curl --user "${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD}" "${SERVER_HOST_SCHEMA:-https}://${CI_SERVER_HOST}/jwt/auth?offline_token=true&service=container_registry&scope=repository:${CI_PROJECT_PATH}:push,pull" 2> /dev/null | jq -r .token)"
test -z "${TOKEN}" && die "Could not obtain token"
TOKEN="$(curl --user "${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD}" "${SERVER_HOST_SCHEMA:-https}://${CI_SERVER_HOST}/jwt/auth?offline_token=true&service=container_registry&scope=repository:${CI_PROJECT_PATH}:push,pull" 2> "${TEMPFILE}" | jq -r .token)"
test -z "${TOKEN}" && cat "${TEMPFILE}"

MANIFEST="$(curl -H "${CONTENT_TYPE}" -H "Authorization: Bearer ${TOKEN}" "${REGISTRY_SCHEMA:-https}://${CI_REGISTRY}/v2/${IMAGE_PATH}/manifests/${REGISTRY_TAG_OLD}" 2> /dev/null)"
test -z "${TOKEN}" && die "Could not obtain manifest"
MANIFEST="$(curl -H "${CONTENT_TYPE}" -H "Authorization: Bearer ${TOKEN}" "${REGISTRY_SCHEMA:-https}://${CI_REGISTRY}/v2/${IMAGE_PATH}/manifests/${REGISTRY_TAG_OLD}" 2> "${TEMPFILE}")"
test -z "${MANIFEST}" && cat "${TEMPFILE}"

curl -X PUT -H "Content-Type: ${CONTENT_TYPE}" -H "Authorization: Bearer ${TOKEN}" -d "${MANIFEST}" "${REGISTRY_SCHEMA:-https}://${CI_REGISTRY}/v2/${IMAGE_PATH}/manifests/${REGISTRY_TAG_NEW}" 2> /dev/null && \
echo "New image: ${CI_REGISTRY}/${IMAGE_PATH}:${REGISTRY_TAG_NEW}" || die "Could not set tag"
curl -X PUT -H "Content-Type: ${CONTENT_TYPE}" -H "Authorization: Bearer ${TOKEN}" -d "${MANIFEST}" "${REGISTRY_SCHEMA:-https}://${CI_REGISTRY}/v2/${IMAGE_PATH}/manifests/${REGISTRY_TAG_NEW}" 2> "${TEMPFILE}" && \
echo "New image: ${CI_REGISTRY}/${IMAGE_PATH}:${REGISTRY_TAG_NEW}" || cat "${TEMPFILE}"

##########################################################################################################################
test -n "${TO_DIE}" && exit 1
rm -f "${TEMPFILE}"