mirror of https://github.com/containrrr/watchtower
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.2 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-
 | 
						|
push_all ${IMAGE_NAME}:arm64v8-
 |