deploy/deploy.sh
author ymh <ymh.work@gmail.com>
Mon, 08 Mar 2021 16:17:44 +0100
changeset 45 02af213cad7d
parent 12 d9d75b93e132
permissions -rwxr-xr-x
Added tag 0.8.1 for changeset 75ec8b6829cc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/env bash
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
SCRIPTNAME=`basename "$0"`
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
usage() {
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
  echo -n "${SCRIPTNAME} [CONFIG] [VERSION]
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
Deploy the <config> using ansible.
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
config must be in the following list : test, prod
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
}
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
if [[ "$#" -ne 2 ]]; then
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    usage
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    exit 1
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
fi
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
config=${1}
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
VERSION=${2}
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
case $config in
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    test) configOK=true;;
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    prod) configOK=true;;
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    *)    configOK=false;;
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
esac
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
if [[ "$configOK" = false ]]; then
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    usage
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    exit 1
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
fi
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
pushd "$SCRIPTPATH"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
d9d75b93e132 Add deploy files. Prepare first version
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
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
popd