36 lines
915 B
Bash
36 lines
915 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> <project_service> <stage> <folder> <branch>"
|
|
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
|