Files
yourpart3/deploy-frontend.sh
Torsten Schulz (local) 1000adca67 feat(deploy): Aktualisierung des Deployment-Skripts zur Handhabung von Umgebungsvariablen
- Hinzufügen von Schritten zum Kopieren der Server-Umgebungsvariablen vor dem Neuaufbau des Frontends.
- Anpassung der Schritte zur Erstellung des Zielverzeichnisses und zum Löschen des alten Frontends.
- Wiederherstellung der lokalen .env-Datei nach dem Deployment.
2025-09-03 08:50:28 +02:00

66 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
echo "=== YourPart Frontend Deployment ==="
# 1. Zum Frontend-Verzeichnis wechseln
cd ~/yourpart3/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. Neues Frontend kopieren
echo "Kopiere neues Frontend..."
sudo cp -r dist/* /opt/yourpart/frontend/dist/
# 9. Berechtigungen setzen
echo "Setze Berechtigungen..."
sudo chown -R www-data:www-data /opt/yourpart/frontend/dist
sudo chmod -R 755 /opt/yourpart/frontend/dist
# 10. Lokale .env wiederherstellen
echo "Stelle lokale .env wieder her..."
cp .env.local .env
# 11. 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"