Push semver containers during a release build.

pull/152/head
Fabrizio Steiner 7 years ago
parent 82a2df38ed
commit 598b5ebced

@ -12,7 +12,9 @@ jobs:
- run: |
docker login -u $DOCKER_USER -p $DOCKER_PASS
IS_RELEASE=$(if [ "$CIRCLE_TAG" != "" ] ; then echo release; else echo ci; fi;)
/build.sh $IS_RELEASE
/build.sh $IS_RELEASE || exit 1
chmod 755 /src/dockerfile/push_containers.sh
if [ "$CIRCLE_TAG" != "" ] ; then /src/dockerfile/push_containers.sh $CIRCLE_TAG; fi;
- store_artifacts:
path: /src/dist/

@ -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…
Cancel
Save