phpservermon/puphpet/puppet/modules/puppi/files/scripts/deploy.sh

60 lines
1.5 KiB
Bash

#!/bin/bash
# deploy.sh - Made for Puppi
# Sources common header for Puppi scripts
. $(dirname $0)/header || exit 10
# Show help
showhelp () {
echo "This script deploys the files present in the \$predeploydir to the deploy destination dir"
echo "It has the following options:"
echo "\$1 (Required) - Destination directory where to deploy files"
echo "\$2 (Optional) - Name of the variable that identifies a specific predeploydir"
echo
echo "Examples:"
echo "deploy.sh /var/www/html/my_app"
echo "deploy.sh /var/www/html/my_app/conf config"
}
# Check arguments
if [ $1 ] ; then
deploy_destdir=$1
# This breaks on projects::maven when using more than one deploy destinations
# [ $deploy_root ] && deploy_destdir=$deploy_root
else
showhelp
exit 2
fi
# Obtain the value of the variable with name passed as second argument
# If no one is given, we take all the files in $predeploydir
if [ $2 ] ; then
deployfilevar=$2
deploy_sourcedir="$(eval "echo \${$(echo ${deployfilevar})}")"
if [ "$deploy_sourcedir" = "" ] ; then
exit 0
fi
else
deploy_sourcedir="$predeploydir"
fi
# Copy files
deploy () {
case "$debug" in
yes)
rsync -rlptDv $deploy_sourcedir/ $deploy_destdir/
check_retcode
;;
full)
rsync -rlptDv $deploy_sourcedir/ $deploy_destdir/
check_retcode
;;
*)
rsync -rlptD $deploy_sourcedir/ $deploy_destdir/
check_retcode
;;
esac
}
deploy