Initial commit
This commit is contained in:
57
deploy.sh
Executable file
57
deploy.sh
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
# --- Configuration ---
|
||||
SERVER_USER="root"
|
||||
SERVER_IP="194.163.173.157"
|
||||
SERVER_PATH="/home/intaleqapp-nabeh/htdocs/nabeh.intaleqapp.com"
|
||||
GIT_BRANCH="main"
|
||||
|
||||
# Colors for terminal styling
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo -e "${GREEN}🚀 Starting Nabeh Sync & Deploy...${NC}"
|
||||
|
||||
# 1. Commit local changes automatically (with date/time or custom message)
|
||||
if [ -n "$(git status --porcelain)" ]; then
|
||||
COMMIT_MSG=${1:-"Deploy: $(date '+%Y-%m-%d %H:%M:%S')"}
|
||||
echo -e "${YELLOW}Staging and committing changes with message: ${COMMIT_MSG}${NC}"
|
||||
git add .
|
||||
git commit -m "$COMMIT_MSG"
|
||||
echo -e "${GREEN}✅ Local commit created successfully!${NC}"
|
||||
else
|
||||
echo -e "ℹ️ No local changes to commit."
|
||||
fi
|
||||
|
||||
# 2. Push to Git Remote
|
||||
echo -e "${GREEN}📤 Pushing changes to remote repository (${GIT_BRANCH})...${NC}"
|
||||
git push origin "$GIT_BRANCH"
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo -e "${RED}❌ Git Push failed! Deployment aborted.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "${GREEN}✅ Successfully pushed to remote repository!${NC}"
|
||||
|
||||
# 3. Connect to server via SSH and pull updates
|
||||
echo -e "${GREEN}🌐 Connecting to server and pulling updates...${NC}"
|
||||
ssh -o ConnectTimeout=5 "${SERVER_USER}@${SERVER_IP}" "
|
||||
cd ${SERVER_PATH} && \
|
||||
git pull origin ${GIT_BRANCH} && \
|
||||
if [ -f 'backend/composer.json' ]; then
|
||||
echo '📦 Updating composer dependencies on server...' && \
|
||||
cd backend && \
|
||||
composer install --no-dev --optimize-autoloader
|
||||
fi
|
||||
"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}==========================================${NC}"
|
||||
echo -e "✨ Nabeh deployment synced perfectly! "
|
||||
echo -e "==========================================${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Server update failed! Check your connection or SSH setup.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user