summaryrefslogtreecommitdiff
path: root/tcwg-start-container.sh
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2020-05-13 10:44:45 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2020-05-13 14:53:33 +0000
commita3a66e895bbe44c9d6e40bb130b6b76530ab48bd (patch)
treed8451d3a8332c3cc0ec82eefdc572b78d68254e6 /tcwg-start-container.sh
parent5478eca641d0f04e4789f2e5ea77b568b198be15 (diff)
tcwg-update-*-containers.sh: Restart containers only on image update
Restart host, jenkins node and llvmbot containers only if underlying docker image has changed. This allows us to simplify management of persistent infrastructure containers (host, jenkins node and llvmbot containers) by triggering update job, say, every day, instead of monitoring dockerfiles.git repo for changes. Change-Id: I27ecb27a9d1d4266d68e6fdfcdae98772fa7884d
Diffstat (limited to 'tcwg-start-container.sh')
-rwxr-xr-xtcwg-start-container.sh13
1 files changed, 10 insertions, 3 deletions
diff --git a/tcwg-start-container.sh b/tcwg-start-container.sh
index d2a749fd..ea4d95d3 100755
--- a/tcwg-start-container.sh
+++ b/tcwg-start-container.sh
@@ -21,9 +21,16 @@ docker pull "$image"
# shellcheck disable=SC2154
if docker stats --no-stream $container >/dev/null 2>&1; then
- if $keep_existing; then
- exit 0
- fi
+ case "$keep_existing" in
+ true) exit 0 ;;
+ keep_if_same_image)
+ old_image=$(docker container inspect -f "{{.Image}}" "$container")
+ new_image=$(docker image inspect -f "{{.Id}}" "$image")
+ if [ x"$old_image" = x"$new_image" ]; then
+ exit 0
+ fi
+ ;;
+ esac
docker rm -vf $container
fi