Files

36 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -e
[[ -v ${CONTAINERD_REGISTRY_HOST} ]] || CONTAINERD_REGISTRY_HOST=docker.inteligr8.com
[[ -v ${CONTAINERD_IMAGE_NAMESPACE} ]] || CONTAINERD_IMAGE_NAMESPACE=inteligr8/
[[ -v ${CONTAINERD_IMAGE_NAME} ]] || CONTAINERD_IMAGE_NAME=base-runner
[[ -v ${CONTAINERD_CMD} ]] || CONTAINERD_CMD=buildah
if [[ -v ${CONTAINERD_DEBUG} ]]; then
CONTAINERD_CMD_OPTS="${CONTAINERD_CMD_OPTS} --log-level=debug"
fi
if [[ ! -z $1 ]]; then
CONTAINERD_IMAGE_TAG=$1
elif [[ ! -z ${VERSION} ]]; then
CONTAINERD_IMAGE_TAG=${VERSION}
elif [[ -z ${CONTAINERD_IMAGE_TAG} ]]; then
echo "An argument, 'VERSION', or 'CONTAINERD_IMAGE_TAG' environment variable are required"
exit 1
fi
GIT_COMMIT_SHORT_SHA=$(git rev-parse --short HEAD)
CONTAINERD_IMAGE_REMOTE_NAME=${CONTAINERD_REGISTRY_HOST}/${CONTAINERD_IMAGE_NAMESPACE}${CONTAINERD_IMAGE_NAME}
echo "Synchronizing container image from registry for SHA: ${GIT_COMMIT_SHORT_SHA}"
${CONTAINERD_CMD} ${CONTAINERD_CMD_OPTS} pull \
${CONTAINERD_IMAGE_REMOTE_NAME}:sha${GIT_COMMIT_SHORT_SHA}
echo "Tagging container image to registry with version: ${CONTAINERD_IMAGE_TAG}"
${CONTAINERD_CMD} ${CONTAINERD_CMD_OPTS} tag \
${CONTAINERD_IMAGE_REMOTE_NAME}:sha${GIT_COMMIT_SHORT_SHA} \
${CONTAINERD_IMAGE_REMOTE_NAME}:${CONTAINERD_IMAGE_TAG}
${CONTAINERD_CMD} ${CONTAINERD_CMD_OPTS} push \
${CONTAINERD_PUSH_OPTS} \
${CONTAINERD_IMAGE_REMOTE_NAME}:${CONTAINERD_IMAGE_TAG}