deploy/deploy.sh
author ymh <ymh.work@gmail.com>
Wed, 04 Dec 2019 16:28:31 +0100
changeset 2 7996096aaae3
parent 0 505fe5249d9c
child 3 5301eb6ce6e2
permissions -rwxr-xr-x
Added tag 0.1 for changeset 407d5a626a50
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/env bash
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
SCRIPTNAME=`basename "$0"`
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
usage() {
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
  echo -n "${SCRIPTNAME} [CONFIG] [VERSION]
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
Deploy the <config> using ansible.
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
config must be in the following list : test, prod
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
}
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
if [[ "$#" -ne 2 ]]; then
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    usage
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    exit 1
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
fi
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
config=${1}
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
VERSION=${2}
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
case $config in
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    test) configOK=true;;
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    prod) configOK=true;;
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    *)    configOK=false;;
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
esac
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
if [[ "$configOK" = false ]]; then
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    usage
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    exit 1
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
fi
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
pushd "$SCRIPTPATH"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
ANSIBLE_SSH_PIPELINING=1 ANSIBLE_STDOUT_CALLBACK=debug ansible-playbook -v -i "./hosts/hosts.$config" -l "$config" ./deploy.yml --extra-vars "rc_version=${VERSION}" --ask-vault-pass
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
popd