diff --git a/deploy b/deploy index f2b71c6c56c9d459bf3468216ee3dbd7bf9f7a29..4c175e162f9c3c302980698726231a9dccde399d 100755 --- a/deploy +++ b/deploy @@ -1,6 +1,12 @@ #!/bin/sh set -eu +_check() { + containers="$(until docker-compose ps -q; do true; done)" + # shellcheck disable=SC2086 + docker container inspect --format '{{ .State.Health.Status }}' $containers | grep -v '^healthy$' +} + _deploy() { echo "Deploying to $1" >&2 export DOCKER_HOST="ssh://$1" @@ -10,11 +16,11 @@ _deploy() { for i in $(seq 12) do # shellcheck disable=SC2046 - docker container inspect --format '{{ .State.Health.Status }}' $(docker-compose ps -q) | grep -v '^healthy$' || break + _check || break sleep 10 done # shellcheck disable=SC2046 - ! docker container inspect --format '{{ .State.Health.Status }}' $(docker-compose ps -q) | grep -v '^healthy$' + ! _check unset DOCKER_HOST unset RUNNER_NAME }