51 lines
828 B
Bash
Executable File
51 lines
828 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
SRC_DIR="./"
|
|
DEST_DIR_TEST="/var/www/staging.seanstarkey.dev/public"
|
|
DEST_DIR_PROD="/var/www/seanstarkey.dev/public"
|
|
PROTECTED_DIRS=(
|
|
"Hallowdeep"
|
|
)
|
|
|
|
usage() {
|
|
echo "Usage: $0 [test|prod]"
|
|
echo " test -> deploy to '$DEST_DIR_TEST'"
|
|
echo " prod -> deploy to '$DEST_DIR_PROD'"
|
|
exit 1
|
|
}
|
|
|
|
if [ "$#" -ne 1 ]; then
|
|
usage
|
|
fi
|
|
|
|
case "$1" in
|
|
test)
|
|
DEST_DIR="$DEST_DIR_TEST"
|
|
;;
|
|
prod)
|
|
DEST_DIR="$DEST_DIR_PROD"
|
|
;;
|
|
*)
|
|
usage
|
|
;;
|
|
esac
|
|
|
|
echo "Deploying from '$SRC_DIR' to '$DEST_DIR'..."
|
|
|
|
#mkdir -p "$DEST_DIR"
|
|
|
|
RSYNC_EXCLUDES=(
|
|
--exclude .git
|
|
--exclude deploy.sh
|
|
--exclude '.*.swp'
|
|
)
|
|
|
|
for dir in "${PROTECTED_DIRS[@]}"; do
|
|
RSYNC_EXCLUDES+=(--exclude "$dir/")
|
|
done
|
|
|
|
sudo rsync -av --delete "${RSYNC_EXCLUDES[@]}" "$SRC_DIR" "$DEST_DIR"
|
|
|
|
echo "Deployment complete."
|