All checks were successful
Deploy to production / deploy (push) Successful in 1m14s
- Updated the npm install command to remove the production flag, allowing for the installation of all dependencies. - Added a step to prune development dependencies after running database migrations, optimizing the deployment environment.
79 lines
1.9 KiB
Bash
Executable File
79 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
TARGET_DIR="${1:?target dir required}"
|
|
STAGE="${2:-production}"
|
|
|
|
BACKEND_DIR="$TARGET_DIR/backend"
|
|
CURRENT_LINK="/opt/yourpart"
|
|
CURRENT_BACKEND="$CURRENT_LINK/backend"
|
|
DATA_DIR="/opt/yourpart-data"
|
|
|
|
echo "Updating YourPart Backend..."
|
|
echo "Ziel: $BACKEND_DIR"
|
|
echo "Using STAGE: $STAGE"
|
|
echo "NOTE: .env files will NOT be overwritten"
|
|
|
|
cd "$BACKEND_DIR"
|
|
|
|
echo "Lösche alle generierten Verzeichnisse..."
|
|
rm -rf node_modules/.cache/
|
|
rm -rf logs/
|
|
rm -rf tmp/
|
|
|
|
echo "Installing dependencies..."
|
|
npm ci
|
|
|
|
echo "Übernehme .env-Dateien vom Live-System..."
|
|
|
|
SOURCE_ENV="/opt/yourpart/backend/.env"
|
|
TARGET_ENV="$BACKEND_DIR/.env"
|
|
|
|
echo "Quelle: $SOURCE_ENV"
|
|
echo "Ziel: $TARGET_ENV"
|
|
|
|
sudo -n ls -l "$SOURCE_ENV"
|
|
sudo -n install -m 600 -o yourpart -g yourpart "$SOURCE_ENV" "$TARGET_ENV"
|
|
|
|
echo "Prüfe kopierte Datei..."
|
|
ls -l "$TARGET_ENV"
|
|
sudo -n head -n 1 "$TARGET_ENV" >/dev/null
|
|
|
|
echo "✓ .env-Datei wurde übernommen"
|
|
|
|
sudo -n mkdir -p "$DATA_DIR/adult-verification"
|
|
|
|
if [ -f "$BACKEND_DIR/.env" ]; then
|
|
echo "✓ .env-Datei ist vorhanden"
|
|
else
|
|
echo "⚠ WARNUNG: Keine .env-Datei in $BACKEND_DIR gefunden!"
|
|
fi
|
|
echo "Setting permissions..."
|
|
sudo -n chown -R yourpart:yourpart "$BACKEND_DIR"
|
|
sudo -n chmod -R 755 "$BACKEND_DIR"
|
|
sudo -n chown -R yourpart:yourpart "$DATA_DIR"
|
|
sudo -n chmod -R 755 "$DATA_DIR"
|
|
|
|
echo "Updating systemd service..."
|
|
sudo -n cp "$TARGET_DIR/yourpart.service" /etc/systemd/system/
|
|
sudo -n systemctl daemon-reload
|
|
|
|
echo "Running database synchronization..."
|
|
cd "$BACKEND_DIR"
|
|
export STAGE="$STAGE"
|
|
|
|
echo "Führe Migrationen aus..."
|
|
npm run db:migrate
|
|
|
|
echo "Entferne Dev-Dependencies nach Migrationen..."
|
|
npm prune --omit=dev
|
|
|
|
if [ "${RUN_LEGACY_SYNC_DB_ON_DEPLOY:-0}" = "1" ]; then
|
|
echo "RUN_LEGACY_SYNC_DB_ON_DEPLOY=1 gesetzt -> führe zusätzlich legacy sync-db aus..."
|
|
npm run sync-db
|
|
else
|
|
echo "Legacy sync-db übersprungen (Standard)."
|
|
fi
|
|
|
|
echo "Backend update completed!"
|