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.
		
		
		
		
		
			
		
			
				
	
	
		
			103 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
			
		
		
	
	
			103 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
# Simulates a container that will always be updated, checking whether it shuts down it's dependencies correctly.
 | 
						|
# Note that this test does not verify the results in any way
 | 
						|
 | 
						|
set -e
 | 
						|
SCRIPT_ROOT=$(dirname "$(readlink -m "$(type -p "$0")")")
 | 
						|
source "$SCRIPT_ROOT/docker-util.sh"
 | 
						|
 | 
						|
DepArgs=""
 | 
						|
if [ -z "$1" ] || [ "$1" == "depends-on" ]; then
 | 
						|
  DepArgs="--label com.centurylinklabs.watchtower.depends-on=parent"
 | 
						|
elif [ "$1" == "linked" ]; then
 | 
						|
  DepArgs="--link parent"
 | 
						|
else
 | 
						|
  DepArgs=$1
 | 
						|
fi
 | 
						|
 | 
						|
WatchArgs="${*:2}"
 | 
						|
if [ -z "$WatchArgs" ]; then
 | 
						|
  WatchArgs="--debug"
 | 
						|
fi
 | 
						|
 | 
						|
try-remove-container parent
 | 
						|
try-remove-container depending
 | 
						|
 | 
						|
REPO=$(registry-host)
 | 
						|
 | 
						|
create-dummy-image deptest/parent
 | 
						|
create-dummy-image deptest/depending
 | 
						|
 | 
						|
echo ""
 | 
						|
 | 
						|
echo -en "Starting \e[94mparent\e[0m container... "
 | 
						|
CmdParent="docker run -d -p 9090 --name parent $REPO/deptest/parent"
 | 
						|
$CmdParent
 | 
						|
PARENT_REV_BEFORE=$(query-rev parent)
 | 
						|
PARENT_START_BEFORE=$(container-started parent)
 | 
						|
echo -e "Rev: \e[92m$PARENT_REV_BEFORE\e[0m"
 | 
						|
echo -e "Started: \e[96m$PARENT_START_BEFORE\e[0m"
 | 
						|
echo -e "Command: \e[37m$CmdParent\e[0m"
 | 
						|
 | 
						|
echo ""
 | 
						|
 | 
						|
echo -en "Starting \e[94mdepending\e[0m container... "
 | 
						|
CmdDepend="docker run -d -p 9090 --name depending $DepArgs $REPO/deptest/depending"
 | 
						|
$CmdDepend
 | 
						|
DEPEND_REV_BEFORE=$(query-rev depending)
 | 
						|
DEPEND_START_BEFORE=$(container-started depending)
 | 
						|
echo -e "Rev: \e[92m$DEPEND_REV_BEFORE\e[0m"
 | 
						|
echo -e "Started: \e[96m$DEPEND_START_BEFORE\e[0m"
 | 
						|
echo -e "Command: \e[37m$CmdDepend\e[0m"
 | 
						|
 | 
						|
echo -e ""
 | 
						|
 | 
						|
create-dummy-image deptest/parent
 | 
						|
 | 
						|
echo -e "\nRunning watchtower..."
 | 
						|
 | 
						|
if [ -z "$WATCHTOWER_TAG" ]; then
 | 
						|
  ## Windows support:
 | 
						|
  #export DOCKER_HOST=tcp://localhost:2375
 | 
						|
  #export CLICOLOR=1
 | 
						|
  go run . --run-once $WatchArgs
 | 
						|
else
 | 
						|
  docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower:"$WATCHTOWER_TAG" --run-once $WatchArgs
 | 
						|
fi
 | 
						|
 | 
						|
echo -e "\nSession results:"
 | 
						|
 | 
						|
PARENT_REV_AFTER=$(query-rev parent)
 | 
						|
PARENT_START_AFTER=$(container-started parent)
 | 
						|
echo -en "  Parent image: \e[95m$PARENT_REV_BEFORE\e[0m => \e[94m$PARENT_REV_AFTER\e[0m "
 | 
						|
if [ "$PARENT_REV_AFTER" == "$PARENT_REV_BEFORE" ]; then
 | 
						|
  echo -e "(\e[91mSame\e[0m)"
 | 
						|
else
 | 
						|
  echo -e "(\e[92mUpdated\e[0m)"
 | 
						|
fi
 | 
						|
echo -en "  Parent container: \e[95m$PARENT_START_BEFORE\e[0m => \e[94m$PARENT_START_AFTER\e[0m "
 | 
						|
if [ "$PARENT_START_AFTER" == "$PARENT_START_BEFORE" ]; then
 | 
						|
  echo -e "(\e[91mSame\e[0m)"
 | 
						|
else
 | 
						|
  echo -e "(\e[92mRestarted\e[0m)"
 | 
						|
fi
 | 
						|
 | 
						|
echo ""
 | 
						|
 | 
						|
DEPEND_REV_AFTER=$(query-rev depending)
 | 
						|
DEPEND_START_AFTER=$(container-started depending)
 | 
						|
echo -en "  Depend image: \e[95m$DEPEND_REV_BEFORE\e[0m => \e[94m$DEPEND_REV_AFTER\e[0m "
 | 
						|
if [ "$DEPEND_REV_BEFORE" == "$DEPEND_REV_AFTER" ]; then
 | 
						|
  echo -e "(\e[92mSame\e[0m)"
 | 
						|
else
 | 
						|
  echo -e "(\e[91mUpdated\e[0m)"
 | 
						|
fi
 | 
						|
echo -en "  Depend container: \e[95m$DEPEND_START_BEFORE\e[0m => \e[94m$DEPEND_START_AFTER\e[0m "
 | 
						|
if [ "$DEPEND_START_BEFORE" == "$DEPEND_START_AFTER" ]; then
 | 
						|
  echo -e "(\e[91mSame\e[0m)"
 | 
						|
else
 | 
						|
  echo -e "(\e[92mRestarted\e[0m)"
 | 
						|
fi
 | 
						|
 | 
						|
echo "" |