All checks were successful
Deploy to production / deploy (push) Successful in 1m31s
- 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.
91 lines
2.1 KiB
Bash
Executable File
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"
|