選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 

50 行
2.5 KiB

  1. #!/bin/bash
  2. set -e
  3. # Ins Verzeichnis des Scripts wechseln (Repo-Root)
  4. SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
  5. cd "$SCRIPT_DIR"
  6. # ══════════════════════════════════════════════════════════════════════
  7. # Konfiguration – einmalig anpassen
  8. # ══════════════════════════════════════════════════════════════════════
  9. SERVER_USER="flo"
  10. SERVER_HOST="h2900109.stratoserver.net"
  11. SERVER_PORT="1122"
  12. BUILD_DIR="/var/www/vhosts/memap.de/httpdocs/timetracking/timetracking-copy/public/build"
  13. WEB_USER="memap"
  14. WEB_GROUP="psaserv"
  15. # ══════════════════════════════════════════════════════════════════════
  16. echo ""
  17. echo "╔══════════════════════════════════════╗"
  18. echo "║ spawntree Timetracker – Build ║"
  19. echo "╚══════════════════════════════════════╝"
  20. echo ""
  21. # ── 1. Assets lokal bauen ─────────────────────────────────────────────
  22. echo "⏳ [1/4] Assets bauen (DDEV)..."
  23. ddev exec npm run build
  24. # ── 2. Build-Verzeichnis als tar packen ───────────────────────────────
  25. echo "⏳ [2/4] Build packen..."
  26. tar -czf /tmp/build.tar.gz -C public --exclude='._*' build/
  27. # ── 3. Tar hochladen ──────────────────────────────────────────────────
  28. echo "⏳ [3/4] Build hochladen..."
  29. scp -P "$SERVER_PORT" /tmp/build.tar.gz "$SERVER_USER@$SERVER_HOST:/tmp/"
  30. # ── 4. Auf dem Server entpacken und Rechte setzen ─────────────────────
  31. echo "⏳ [4/4] Entpacken und Rechte setzen..."
  32. ssh -t -p "$SERVER_PORT" "$SERVER_USER@$SERVER_HOST" \
  33. "sudo tar -xzf /tmp/build.tar.gz -C $(dirname $BUILD_DIR)/ && \
  34. sudo chown -R $WEB_USER:$WEB_GROUP $BUILD_DIR && \
  35. sudo chmod 644 $BUILD_DIR/* && \
  36. echo '' && ls -la $BUILD_DIR"
  37. echo ""
  38. echo "✅ Build hochgeladen."
  39. echo ""