Skip to content
Snippets Groups Projects
Select Git revision
  • 7d05f20ddcb90529d173668acb99fa12d2ee189e
  • master default
2 results

deploy

Blame
  • deploy 1.18 KiB
    #!/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"
        export RUNNER_NAME="$1"
        until docker-compose up --detach --remove-orphans ; do true; done
        # shellcheck disable=SC2034
        for i in $(seq 12)
        do
            # shellcheck disable=SC2046
            _check || break
            sleep 10
        done
        # shellcheck disable=SC2046
        ! _check
        unset DOCKER_HOST
        unset RUNNER_NAME
    }
    
    if [ -z "${REGISTRATION_TOKEN:-}" ]
    then
        echo "REGISTRATION_TOKEN isn't set." >&2
        exit 1
    fi
    
    case "${1:-all}" 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; "$0" host01; "$0" kodi ;;
        *) echo 'Unknown host.' >&2; exit 1;;
    esac