Files
yourpart3/deploy-backend.sh
Torsten Schulz (local) 12fd71c6cc feat(backend): Verbesserung der Datenbank-Synchronisation und Deployment-Logik
- Einführung eines optionalen Parameters STAGE im Deployment-Skript zur flexiblen Handhabung von Umgebungen.
- Anpassung der Datenbank-Synchronisation, um immer Schema-Updates im Deployment-Modus durchzuführen.
- Umbenennung der Synchronisationsfunktion für Klarheit und bessere Lesbarkeit.
- Erweiterung der Konsolenausgaben zur besseren Nachverfolgbarkeit während des Deployments.
2025-08-29 11:08:37 +02:00

43 lines
1.1 KiB
Bash

#!/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
# Backend nach /opt/yourpart kopieren
echo "Copying backend to /opt/yourpart/backend..."
sudo mkdir -p /opt/yourpart/backend
sudo cp -r * /opt/yourpart/backend/
# Berechtigungen setzen
echo "Setting permissions..."
sudo chown -R www-data:www-data /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 www-data:www-data /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..."
sudo -u www-data bash -c "export STAGE=$STAGE && npm run sync-db"
echo "Backend deployment completed!"