added ability to execute multiple playbooks on multiple hosts
truly modular
This commit is contained in:
parent
c9d5b26ee2
commit
e08d153757
22
deploy.sh
22
deploy.sh
|
@ -1,18 +1,24 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$#" -lt 2 ]; then
|
||||
echo "Usage: $0 <limit> <playbook> [playbook...]"
|
||||
echo "Usage: $0 [limit...] [playbook...]"
|
||||
exit
|
||||
fi
|
||||
|
||||
LIMIT=""
|
||||
LIMIT_PRESENT=$(echo "$1" | grep ".yml")
|
||||
if [ "${LIMIT_PRESENT}" == "" ]; then
|
||||
LIMIT="--limit $1"
|
||||
shift
|
||||
fi
|
||||
PLAYBOOKS=""
|
||||
for ARG in ${@}; do
|
||||
echo "${ARG}" | grep ".yml" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LIMIT="${LIMIT},${ARG}"
|
||||
else
|
||||
PLAYBOOKS="${PLAYBOOKS} ${ARG}"
|
||||
fi
|
||||
done
|
||||
LIMIT="${LIMIT:1}"
|
||||
PLAYBOOKS="${PLAYBOOKS:1}"
|
||||
|
||||
for PLAYBOOK in $@; do
|
||||
ansible-playbook --forks 1 ${LIMIT} ${PLAYBOOK}
|
||||
for PLAYBOOK in ${PLAYBOOKS}; do
|
||||
ansible-playbook --forks 1 --limit ${LIMIT} ${PLAYBOOK}
|
||||
shift
|
||||
done
|
||||
|
|
Loading…
Reference in New Issue