Files
yourpart3/deploy-frontend.sh
Torsten Schulz (local) 1981d82095 Verbesserung: Anpassung des Deploy-Skripts zur flexiblen Handhabung von Umgebungsvariablen
Änderungen:
- Das Skript überprüft nun, ob die Datei .env.server vorhanden ist, und kopiert sie nur, wenn sie existiert.
- Umgebungsvariablen werden nun mit Standardwerten gesetzt, falls sie nicht bereits definiert sind.
- Die Kopie der .env-Datei erfolgt ebenfalls nur, wenn diese existiert, um unnötige Überschreibungen zu vermeiden.

Diese Anpassungen erhöhen die Flexibilität und Robustheit des Deploy-Prozesses.
2025-09-11 10:03:45 +02:00

89 lines
2.5 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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. Alle generierten Verzeichnisse löschen
echo "Lösche alle generierten Verzeichnisse..."
rm -rf dist/
rm -rf node_modules/.vite/
rm -rf node_modules/.cache/
# 4. Optional: .env.server übernehmen, falls vorhanden (nicht überschreiben, wenn nicht vorhanden)
if [ -f .env.server ]; then
echo "Nutze .env.server für Build-Defaults..."
cp .env.server .env
fi
# 5. Frontend neu bauen VITE_* aus Environment übernehmen oder Defaults setzen
echo "Baue Frontend neu..."
export VITE_API_BASE_URL=${VITE_API_BASE_URL:-https://www.your-part.de}
export VITE_DAEMON_SOCKET=${VITE_DAEMON_SOCKET:-wss://www.your-part.de:4551}
export VITE_CHAT_WS_URL=${VITE_CHAT_WS_URL:-wss://www.your-part.de:1235}
echo "VITE_API_BASE_URL=$VITE_API_BASE_URL"
echo "VITE_DAEMON_SOCKET=$VITE_DAEMON_SOCKET"
echo "VITE_CHAT_WS_URL=$VITE_CHAT_WS_URL"
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. (Optional) .env Datei kopieren, falls existiert
if [ -f .env ]; then
echo "Kopiere .env Datei..."
sudo cp .env /opt/yourpart/frontend/
fi
# 11. Berechtigungen setzen
echo "Setze Berechtigungen..."
sudo chown -R www-data:www-data /opt/yourpart/frontend/dist
if [ -f /opt/yourpart/frontend/.env ]; then
sudo chown www-data:www-data /opt/yourpart/frontend/.env
sudo chmod 644 /opt/yourpart/frontend/.env
fi
sudo chmod -R 755 /opt/yourpart/frontend/dist
# 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"