Newer
Older
_docker_compose() {
docker-compose "$@" 2>&1 | sed '/^ File /,+1d'
}
containers="$(until _docker_compose ps -q; do true; done)"
# shellcheck disable=SC2086
docker container inspect --format '{{ .State.Health.Status }}' $containers | grep -v '^healthy$'
}
printf '\n\e[1;94m=== %s ====\e[0m\n\n' "Deploying to $host" >&2
localsocket="$HOME/.ssh/docker_$host.sock"
forward "$host" "$localsocket:/var/run/docker.sock"
export DOCKER_HOST="unix://$localsocket"
export RUNNER_NAME="$host"
until _docker_compose up --detach --remove-orphans ; do true; done
# shellcheck disable=SC2034
for i in $(seq 12)
do
# shellcheck disable=SC2046
if [ -z "${GITLAB_REGISTRATION_TOKEN:-}" ]
GITLAB_REGISTRATION_TOKEN="$(ph show --field Password 'shore.co.il/GitLab runner registration token')" || \
{ echo "Failed to get the registration token from the Keepass database." >&2;
echo "You can set the GITLAB_REGISTRATION_TOKEN environment variable instead." >&2;
exit 1; }
[ "$#" -eq '0' ] && "$0" ns4 host01 kodi
for i in "$@"
do
case "$i" in
ns4) export REGISTER_RUN_UNTAGGED="true"
export BUILDS='/builds'
_deploy ns4.shore.co.il
;;
kodi) export REGISTER_RUN_UNTAGGED="false"
unset BUILDS
_deploy kodi.shore.co.il
;;
host01) export REGISTER_RUN_UNTAGGED="false"
unset BUILDS
_deploy host01.shore.co.il
;;
all) "$0" ns4 host01 kodi ;;
*) echo 'Unknown host.' >&2; exit 1;;
esac
done