diff --git a/scripts/pull_code.sh b/scripts/pull_code.sh new file mode 100644 index 000000000..7e898332a --- /dev/null +++ b/scripts/pull_code.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# Author: Moutaz Muhammad + +set -euo pipefail + +# Validate input parameters +if [ "$#" -lt 5 ]; then + echo "** [ERROR] Usage: $0 " + exit 1 +fi + +PROJECT_USER="$1" +PROJECT_PATH="$2" +PROJECT_SERVICE="$3" +STAGE="$4" +FOLDER="$5" +BRANCH="$6" + +# Stash changes before pulling +sudo -u "$PROJECT_USER" bash -c "cd '$PROJECT_PATH/$STAGE/$FOLDER' && git stash && git stash clear && git pull origin '$BRANCH'" +if [ $? -eq 0 ]; then + echo "** [INFO] Git pull origin $BRANCH command executed successfully." +else + echo "** [ERROR] Git pull origin $BRANCH command failed." + exit 1 +fi + +# Restart the project service +sudo systemctl restart "$PROJECT_SERVICE" +if [ $? -eq 0 ]; then + echo "** [INFO] $BRANCH service has been restarted." +else + echo "** [ERROR] Failed to restart $BRANCH service." + exit 1 +fi