70 lines
2.4 KiB
Bash
Executable File
70 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Skript, um das Frontend auf den aktuellen Stand im Git-Repository zurückzusetzen
|
|
|
|
set -e # Beende das Skript bei Fehlern
|
|
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
FRONTEND_DIR="$SCRIPT_DIR/reservation-platform"
|
|
LOG_FILE="$SCRIPT_DIR/frontend-rollback.log"
|
|
|
|
# Logfunktion
|
|
log() {
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE"
|
|
}
|
|
|
|
# Lösche Log-Datei, falls vorhanden
|
|
> "$LOG_FILE"
|
|
|
|
log "Beginne mit dem Rollback des Frontends auf den aktuellen Stand im Repository"
|
|
|
|
# Überprüfe, ob wir in einem Git-Repository sind
|
|
if ! git -C "$SCRIPT_DIR" rev-parse --is-inside-work-tree > /dev/null 2>&1; then
|
|
log "FEHLER: Das Skript muss innerhalb eines Git-Repositories ausgeführt werden"
|
|
exit 1
|
|
fi
|
|
|
|
# Sichere aktuelle Änderungen, falls gewünscht
|
|
read -p "Möchtest du aktuelle ungespeicherte Änderungen sichern? (j/n): " backup_changes
|
|
if [[ "$backup_changes" == "j" ]]; then
|
|
BACKUP_DIR="$SCRIPT_DIR/../frontend-backup-$(date '+%Y%m%d-%H%M%S')"
|
|
log "Erstelle Backup in $BACKUP_DIR"
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
if [ -d "$FRONTEND_DIR" ]; then
|
|
cp -r "$FRONTEND_DIR" "$BACKUP_DIR/"
|
|
log "Frontend-Backup erstellt in $BACKUP_DIR/reservation-platform"
|
|
else
|
|
log "Warnung: Frontend-Verzeichnis existiert nicht, kein Backup nötig"
|
|
fi
|
|
fi
|
|
|
|
# Hole den aktuellen Branch
|
|
CURRENT_BRANCH=$(git -C "$SCRIPT_DIR" rev-parse --abbrev-ref HEAD)
|
|
log "Aktueller Branch: $CURRENT_BRANCH"
|
|
|
|
# Lösche ggf. vorhandenes Frontend-Verzeichnis
|
|
if [ -d "$FRONTEND_DIR" ]; then
|
|
log "Lösche existierendes Frontend-Verzeichnis"
|
|
rm -rf "$FRONTEND_DIR"
|
|
fi
|
|
|
|
# Checkout das Frontend vom aktuellen Branch
|
|
log "Checkout Frontend vom aktuellen Branch ($CURRENT_BRANCH)"
|
|
git -C "$SCRIPT_DIR" checkout HEAD -- reservation-platform
|
|
|
|
log "Frontend wurde erfolgreich auf den aktuellen Stand im Repository zurückgesetzt"
|
|
|
|
# Erstelle einen Commit mit dem Rollback, falls gewünscht
|
|
read -p "Möchtest du den Rollback committen? (j/n): " commit_changes
|
|
if [[ "$commit_changes" == "j" ]]; then
|
|
git -C "$SCRIPT_DIR" add reservation-platform
|
|
git -C "$SCRIPT_DIR" commit -m "Setze Frontend auf den aktuellen Stand im Repository zurück"
|
|
log "Änderungen wurden committet"
|
|
else
|
|
log "Änderungen wurden NICHT committet"
|
|
fi
|
|
|
|
log "Frontend-Rollback abgeschlossen"
|
|
log "Um das Frontend zu installieren und zu starten, führe aus:"
|
|
log "cd $FRONTEND_DIR && pnpm install && pnpm dev" |