odex25_standard/scripts/pull_code.sh

34 lines
890 B
Bash

#!/bin/bash
# Author: Moutaz Muhammad <M.MUHAMMAD@exp-sa.com>
set -euo pipefail
# Validate input parameters
if [ "$#" -lt 5 ]; then
echo "** [ERROR] Usage: $0 <project_user> <project_path> <repo> <project_service> <branch>"
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