Fixing text
This commit is contained in:
52
bin/deploy-tasks
Executable file
52
bin/deploy-tasks
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
# Role is first argument
|
||||
taskfile="$1"
|
||||
if [ -z "$taskfile" ]; then
|
||||
echo Need a taskfile as first argument.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Ensure we are in the source directory.
|
||||
cd $(dirname $1)/..
|
||||
|
||||
# Handle verbosity
|
||||
if [ "$1" == "-v" ]; then
|
||||
set -x
|
||||
shift
|
||||
taskfile="$1"
|
||||
fi
|
||||
|
||||
# Handle usage
|
||||
if [ "$taskfile" == "-h" ] || [ "$taskfile" == "--help" ]; then
|
||||
echo "Usage: $0 -h"
|
||||
echo " $0 \$taskfile \$targetgroup [\$optional_inventory]"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Find the root of the git clone
|
||||
while [ ! -d .git ]; do
|
||||
cd ..
|
||||
if [ "$PWD" == '/' ]; then
|
||||
echo "This needs to be run from the Kapisi checkout"
|
||||
exit 3
|
||||
fi
|
||||
done
|
||||
|
||||
# Get the targetgroup
|
||||
targetgroup="$2"
|
||||
if [ -z "$targetgroup" ]; then
|
||||
targetgroup="$taskfile" # Deploy a taskfile to the server named for that function
|
||||
fi
|
||||
|
||||
# Allow an inventory override
|
||||
inventory="$3"
|
||||
if [ -z "$inventory" ]; then
|
||||
inventory=examples/msn0.yml
|
||||
fi
|
||||
|
||||
# Invoke the one-taskfile playbook for the taskfile on the targetgroup
|
||||
ansible-playbook -i "$inventory" -e "taskfile=$taskfile" -e "targets=$targetgroup" "$(dirname $0)/../playbooks/one-taskfile.yml"
|
||||
# and return the exit status
|
||||
exit $?
|
||||
Reference in New Issue
Block a user