diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2020-05-13 10:44:45 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2020-05-13 14:53:33 +0000 |
commit | a3a66e895bbe44c9d6e40bb130b6b76530ab48bd (patch) | |
tree | d8451d3a8332c3cc0ec82eefdc572b78d68254e6 /tcwg-start-container.sh | |
parent | 5478eca641d0f04e4789f2e5ea77b568b198be15 (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-x | tcwg-start-container.sh | 13 |
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 |