#!/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" REPO="$3" PROJECT_SERVICE="$4" BRANCH="$5" # Stash changes before pulling sudo -u "$PROJECT_USER" bash -c "cd '$PROJECT_PATH/$BRANCH/$REPO' && 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