mirror of
https://github.com/containrrr/watchtower.git
synced 2025-09-22 05:40:50 +02:00
52 lines
No EOL
1.1 KiB
Bash
52 lines
No EOL
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
PROGNAME=$(basename $0)
|
|
VERSION_BUILD=$1
|
|
|
|
function error_exit
|
|
{
|
|
echo "${PROGNAME}: ${1:-"Unknown Error"}" 1>&2
|
|
exit 1
|
|
}
|
|
|
|
if [ "$1" = "" ]; then
|
|
error_exit "Please provide version as first argument."
|
|
fi
|
|
|
|
SEMVER=${VERSION_BUILD#*v}
|
|
VERSION=`echo $SEMVER | awk '{split($0,a,"."); print a[1]}'`
|
|
BUILD=`echo $SEMVER | awk '{split($0,a,"."); print a[2]}'`
|
|
PATCH=`echo $SEMVER | awk '{split($0,a,"."); print a[3]}'`
|
|
|
|
if [ "${VERSION}" = "" ]; then
|
|
echo "Please provide a semantic version."
|
|
exit 1
|
|
fi
|
|
|
|
if [ "${BUILD}" = "" ]; then
|
|
BUILD='0'
|
|
fi
|
|
|
|
if [ "${PATCH}" = "" ]; then
|
|
PATCH='0'
|
|
fi
|
|
|
|
push_docker() {
|
|
echo " -> push $1 $2"
|
|
docker tag $1 $2 || exit 1
|
|
docker push $2 || exit 1
|
|
}
|
|
|
|
push_all() {
|
|
IMAGE_NAME_VERSION=${1}${VERSION}.${BUILD}.${PATCH}
|
|
echo "Pulling $IMAGE_NAME_VERSION..."
|
|
docker pull ${IMAGE_NAME_VERSION} || exit 1
|
|
echo "Pushing $IMAGE_NAME_VERSION..."
|
|
push_docker ${IMAGE_NAME_VERSION} ${1}${VERSION}.${BUILD}
|
|
push_docker ${IMAGE_NAME_VERSION} ${1}${VERSION}
|
|
push_docker ${IMAGE_NAME_VERSION} ${1}latest
|
|
}
|
|
|
|
IMAGE_NAME=v2tec/watchtower
|
|
push_all ${IMAGE_NAME}:
|
|
push_all ${IMAGE_NAME}:armhf- |