Files
yourpart3/update.sh
Torsten Schulz (local) 1f10e7c519
All checks were successful
Deploy to production / deploy (push) Successful in 1m31s
feat(deploy): enhance deployment scripts with skip options for backend and frontend
- Updated `deploy-yourpart-bluegreen.sh` to pass additional arguments for skipping backend or frontend updates.
- Enhanced `update.sh` to handle `--skip-backend` and `--skip-frontend` flags, allowing for more flexible deployment based on changes detected.
- Modified deployment workflow to conditionally execute based on changes in frontend or backend files, improving deployment efficiency.
2026-04-17 11:33:02 +02:00

91 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
TARGET_DIR="${1:?Zielverzeichnis fehlt: ./update.sh <z. B. /opt/yourpart-green>}"
shift || true
SKIP_BACKEND="0"
SKIP_FRONTEND="0"
while [[ $# -gt 0 ]]; do
case "$1" in
--skip-backend)
SKIP_BACKEND="1"
;;
--skip-frontend)
SKIP_FRONTEND="1"
;;
*)
echo "Unbekannte Option: $1" >&2
echo "Verwendung: ./update.sh <target-dir> [--skip-backend] [--skip-frontend]" >&2
exit 1
;;
esac
shift
done
echo "=== YourPart Update Script ==="
echo "Ziel-Slot: $TARGET_DIR"
echo "Aktualisiert die Anwendung, ohne .env-Dateien zu überschreiben"
echo "Skip Backend: $SKIP_BACKEND"
echo "Skip Frontend: $SKIP_FRONTEND"
echo ""
# Prüfen ob wir im richtigen Verzeichnis sind
if [ ! -f "package.json" ]; then
echo "Error: Please run this script from the YourPart3 root directory"
exit 1
fi
# Sicherstellen, dass wir wirklich auf main sind
CURRENT_BRANCH="$(git rev-parse --abbrev-ref HEAD)"
if [ "$CURRENT_BRANCH" != "main" ]; then
echo "Error: current branch is '$CURRENT_BRANCH', expected 'main'"
exit 1
fi
# Remote-Stand holen
git fetch origin main
# Arbeitsbaum hart auf origin/main setzen
git reset --hard origin/main
# Optional: unversionierte Build-Artefakte entfernen
git clean -fd
# Prüfen ob sudo verfügbar ist
if ! command -v sudo >/dev/null 2>&1; then
echo "Error: sudo is required but not installed"
exit 1
fi
if [[ "$SKIP_BACKEND" == "1" ]]; then
echo ""
echo "=== Backend-Update übersprungen (--skip-backend) ==="
else
echo ""
echo "=== Updating Backend ==="
./update-backend.sh "$TARGET_DIR"
fi
if [[ "$SKIP_FRONTEND" == "1" ]]; then
echo ""
echo "=== Frontend-Build/Update übersprungen (--skip-frontend) ==="
else
echo ""
echo "=== Building and Updating Frontend ==="
./update-frontend.sh "$TARGET_DIR"
fi
echo ""
echo "Link backend .env"
ln -s backend/.env .env
echo ""
echo "=== Update Completed! ==="
echo "Your application has been updated."
echo ""
echo "To check logs:"
echo " Backend: sudo journalctl -u yourpart.service -f"
echo " Apache: sudo tail -f /var/log/apache2/yourpart.*.log"