49 lines
1.4 KiB
Bash
49 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
###############################################################################
|
|
|
|
# Actual script directory path
|
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
|
|
|
|
# Load Container IMAGE_NAME and IMAGE_TAG variables
|
|
source ${DIR}/set_container_vars.sh
|
|
|
|
###############################################################################
|
|
|
|
# Header
|
|
echo ""
|
|
echo "-----------------------------------------------------------"
|
|
echo "-- Publishing Container Image --"
|
|
echo "-----------------------------------------------------------"
|
|
|
|
# Check if the image is available
|
|
if ! docker image inspect "${IMAGE_NAME}:${IMAGE_TAG}" >/dev/null 2>&1; then
|
|
echo "Error: ${IMAGE_NAME}:${IMAGE_TAG} not found."
|
|
echo "Note: The image need to be build first."
|
|
exit 1
|
|
fi
|
|
|
|
# Login to the remote registry
|
|
docker login
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Error: Login to registry fail."
|
|
exit 1
|
|
fi
|
|
|
|
# Tag Image for remote registry
|
|
docker tag "${IMAGE_NAME}:${IMAGE_TAG}" "${REGISTRY_REPO}:${IMAGE_TAG}"
|
|
|
|
# Publish the image
|
|
echo "Publishing container image ${REGISTRY_REPO}:${IMAGE_TAG} to registry..."
|
|
docker push "${REGISTRY_REPO}:${IMAGE_TAG}"
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Error: Image publish fail."
|
|
exit 1
|
|
fi
|
|
echo ""
|
|
echo "Image published successfully."
|
|
|
|
exit 0
|
|
|
|
###############################################################################
|