43 lines
789 B
Bash
43 lines
789 B
Bash
|
#!/bin/bash
|
||
|
set -e
|
||
|
|
||
|
MY_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
source "$MY_DIR/push.conf"
|
||
|
|
||
|
# Prepare the environment
|
||
|
|
||
|
image=$1
|
||
|
version=$2
|
||
|
revision=$3
|
||
|
|
||
|
if [[ -z "$image" || -z "$version" ]]; then
|
||
|
echo "Usage: $0 <image> <version> [<revision>]"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
tag="$version"
|
||
|
if [ ! -z "$revision" ]; then
|
||
|
tag="$tag-$revisionPrefix$revision"
|
||
|
fi
|
||
|
|
||
|
fullImage="$registry/$image"
|
||
|
latestImage="$fullImage:latest"
|
||
|
taggedImage="$fullImage:$tag"
|
||
|
|
||
|
echo "Image: $taggedImage"
|
||
|
read -p "Continue? (Default: no) [y|n]: " ANSWER
|
||
|
if [ "$ANSWER" != "y" ]; then
|
||
|
echo "Aborting push."
|
||
|
exit 3
|
||
|
fi
|
||
|
|
||
|
# Build and tag the image
|
||
|
|
||
|
docker build -t "$latestImage" "$image"
|
||
|
docker tag "$latestImage" "$taggedImage"
|
||
|
|
||
|
# Push the built image
|
||
|
|
||
|
docker push "$latestImage"
|
||
|
docker push "$taggedImage"
|