Files
yourpart3/deploy-backend.sh
Torsten Schulz (local) d55449ff2c Verbessere Deploy-Scripts: Vollständiges Löschen der Zielverzeichnisse
Frontend:
- Lösche dist/ vor Build
- Lösche /opt/yourpart/frontend/dist vollständig vor Deploy
- Erstelle Zielverzeichnis neu nach dem Löschen

Backend:
- Lösche /opt/yourpart/backend vollständig vor Deploy
- Erstelle Backend-Verzeichnis neu nach dem Löschen

Dies stellt sicher, dass keine alten Dateien zurückbleiben.
2025-09-03 19:58:11 +02:00

57 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# Optionaler Parameter für STAGE (Standard: production)
STAGE=${1:-production}
echo "Deploying YourPart Backend..."
echo "Using STAGE: $STAGE"
# Zum Backend-Verzeichnis wechseln
cd backend
# Dependencies installieren
echo "Installing dependencies..."
npm ci --production
# Altes Backend löschen und neues kopieren
echo "Lösche altes Backend..."
sudo rm -rf /opt/yourpart/backend
echo "Erstelle Backend-Verzeichnis..."
sudo mkdir -p /opt/yourpart/backend
echo "Kopiere neues Backend..."
sudo cp -r * /opt/yourpart/backend/
# Berechtigungen setzen
echo "Setting permissions..."
sudo chown -R $USER:$USER /opt/yourpart/backend
sudo chmod -R 755 /opt/yourpart/backend
# .env-Datei kopieren (falls vorhanden)
if [ -f .env ]; then
echo "Copying .env file..."
sudo cp .env /opt/yourpart/backend/
sudo chown $USER:$USER /opt/yourpart/backend/.env
sudo chmod 600 /opt/yourpart/backend/.env
fi
# Datenbank-Synchronisation durchführen
echo "Running database synchronization..."
cd /opt/yourpart/backend
# STAGE für Schema-Updates verwenden
echo "Running database sync with STAGE=$STAGE..."
export STAGE=$STAGE && npm run sync-db
# Service neu starten
echo "Restarting yourpart service..."
sudo systemctl restart yourpart
# Kurz warten und Status prüfen
sleep 2
echo "Checking service status..."
sudo systemctl status yourpart --no-pager
echo "Backend deployment completed!"