Files
yourpart3/deploy-frontend.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

73 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
echo "=== YourPart Frontend Deployment ==="
# 1. Zum Frontend-Verzeichnis wechseln
cd frontend
# 2. Berechtigungen für dist-Verzeichnis korrigieren (falls vorhanden)
if [ -d "dist" ]; then
echo "Korrigiere Berechtigungen für dist-Verzeichnis..."
sudo chown -R $USER:$USER dist/ 2>/dev/null || true
fi
# 3. Altes dist-Verzeichnis löschen
echo "Lösche altes dist-Verzeichnis..."
rm -rf dist/
# 4. Server-Umgebungsvariablen kopieren
echo "Kopiere Server-Umgebungsvariablen..."
cp .env.server .env
# 5. Frontend neu bauen
echo "Baue Frontend neu..."
npm run build
if [ $? -ne 0 ]; then
echo "❌ Build fehlgeschlagen!"
exit 1
fi
echo "✅ Build erfolgreich!"
# 6. Zielverzeichnis erstellen (falls nicht vorhanden)
echo "Erstelle Zielverzeichnis..."
sudo mkdir -p /opt/yourpart/frontend/dist
# 7. Altes Frontend löschen
echo "Lösche altes Frontend..."
sudo rm -rf /opt/yourpart/frontend/dist
# 8. Zielverzeichnis neu erstellen
echo "Erstelle Zielverzeichnis neu..."
sudo mkdir -p /opt/yourpart/frontend/dist
# 9. Neues Frontend kopieren
echo "Kopiere neues Frontend..."
sudo cp -r dist/* /opt/yourpart/frontend/dist/
# 10. .env Datei kopieren
echo "Kopiere .env Datei..."
sudo cp .env /opt/yourpart/frontend/
# 11. Berechtigungen setzen
echo "Setze Berechtigungen..."
sudo chown -R www-data:www-data /opt/yourpart/frontend/dist
sudo chown www-data:www-data /opt/yourpart/frontend/.env
sudo chmod -R 755 /opt/yourpart/frontend/dist
sudo chmod 644 /opt/yourpart/frontend/.env
# 12. Apache neu laden
echo "Lade Apache neu..."
sudo systemctl reload apache2
echo ""
echo "=== Frontend Deployment abgeschlossen! ==="
echo "✅ Frontend neu gebaut"
echo "✅ Frontend deployt"
echo "✅ Apache neu geladen"
echo ""
echo "Testen Sie jetzt die Anwendung!"
echo "API-Requests sollten jetzt an /api/... gehen statt localhost:3001"