- 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.
43 lines
1.1 KiB
Bash
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!"
|