Änderungen: - Aktualisierung der Benutzer- und Gruppenberechtigungen für das Backend-Verzeichnis und die .env-Datei von `$USER:$USER` auf `yourpart:yourpart`. - Anpassung der Berechtigungen für die .env-Datei von `600` auf `640`, um den Zugriff zu optimieren. Diese Anpassungen verbessern die Sicherheit und Verwaltung der Berechtigungen im Backend-Deployment-Skript.
63 lines
1.5 KiB
Bash
Executable File
63 lines
1.5 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
|
|
|
|
# Alle generierten Verzeichnisse löschen
|
|
echo "Lösche alle generierten Verzeichnisse..."
|
|
rm -rf node_modules/.cache/
|
|
rm -rf logs/
|
|
rm -rf tmp/
|
|
|
|
# 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 yourpart:yourpart /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 yourpart:yourpart /opt/yourpart/backend/.env
|
|
sudo chmod 640 /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!"
|