Push semver containers during a release build.
parent
82a2df38ed
commit
598b5ebced
@ -0,0 +1,52 @@
|
||||
#!/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-
|
Loading…
Reference in New Issue