Update codebase
This commit is contained in:
+13
-48
@@ -1,55 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
# ============================================================
|
||||
# Tripz — مزامنة الكود من الماك إلى السيرفر (نصوص فقط)
|
||||
# الاستخدام من تيرمينال الماك:
|
||||
# ./sync-to-server.sh # مزامنة فقط
|
||||
# ./sync-to-server.sh --deploy # مزامنة ثم docker compose up على السيرفر
|
||||
# ./sync-to-server.sh --logs # عرض لوغ الحاويات على السيرفر
|
||||
# ملاحظة: لا نبني ولا نشغّل شيئاً على الماك — كل التشغيل على السيرفر عبر Docker.
|
||||
# Tripz — رفع الكود محلياً إلى Git
|
||||
# الاستخدام:
|
||||
# ./sync-to-server.sh "رسالة التحديث"
|
||||
# ============================================================
|
||||
set -euo pipefail
|
||||
|
||||
# ---- إعدادات السيرفر (عدّل عند اللزوم) ----
|
||||
SERVER_USER="root"
|
||||
SERVER_IP="194.163.173.157"
|
||||
REMOTE_DIR="/home/tripz-llc" # مجلد مخصّص جديد (منفصل عن مواقع CloudPanel)
|
||||
LOCAL_DIR="$(cd "$(dirname "$0")" && pwd)/"
|
||||
MSG="${1:-Update codebase}"
|
||||
|
||||
SSH="ssh ${SERVER_USER}@${SERVER_IP}"
|
||||
echo "==> رفع الكود محلياً إلى Git..."
|
||||
git add .
|
||||
git commit -m "$MSG" || true
|
||||
git push origin main
|
||||
|
||||
echo "==> مزامنة ${LOCAL_DIR} ⟶ ${SERVER_USER}@${SERVER_IP}:${REMOTE_DIR}"
|
||||
|
||||
# تأكد من وجود المجلد على السيرفر
|
||||
$SSH "mkdir -p ${REMOTE_DIR}"
|
||||
|
||||
# rsync: يرفع النصوص فقط، يستثني المخرجات والأسرار، ويحذف المحذوف محلياً
|
||||
# لكن يُبقي .env على السيرفر (يُنشأ هناك ولا يُرفع من الماك)
|
||||
rsync -avz --delete \
|
||||
--exclude='.git/' \
|
||||
--exclude='node_modules/' \
|
||||
--exclude='dist/' \
|
||||
--exclude='build/' \
|
||||
--exclude='.dart_tool/' \
|
||||
--exclude='**/pgdata/' \
|
||||
--exclude='**/redisdata/' \
|
||||
--exclude='.env' \
|
||||
--exclude='.DS_Store' \
|
||||
--exclude='*.log' \
|
||||
"${LOCAL_DIR}" "${SERVER_USER}@${SERVER_IP}:${REMOTE_DIR}/"
|
||||
|
||||
echo "==> تمت المزامنة."
|
||||
|
||||
# ---- خيارات إضافية ----
|
||||
case "${1:-}" in
|
||||
--deploy)
|
||||
echo "==> تشغيل docker compose على السيرفر..."
|
||||
$SSH "cd ${REMOTE_DIR}/backend && \
|
||||
[ -f .env ] || cp .env.example .env && \
|
||||
docker compose up -d --build && \
|
||||
docker compose exec -T api npm run migration:run || true"
|
||||
echo "==> التطبيق: http://${SERVER_IP}:4010/api/health"
|
||||
;;
|
||||
--logs)
|
||||
$SSH "cd ${REMOTE_DIR}/backend && docker compose logs --tail=100 -f"
|
||||
;;
|
||||
esac
|
||||
echo "==> تمت عملية الرفع بنجاح!"
|
||||
echo "الآن يمكنك الذهاب إلى تيرمينال السيرفر وتشغيل الأوامر التالية:"
|
||||
echo " cd /home/tripz-llc"
|
||||
echo " git pull origin main"
|
||||
echo " cd backend && docker compose up -d --build"
|
||||
|
||||
Reference in New Issue
Block a user