Spannung/deploy.sh
2026-08-02 11:18:09 +02:00

36 lines
1.3 KiB
Bash

#!/bin/bash
set -e
# Prüfen, ob eine IP oder ein Hostname übergeben wurde
if [ -z "$1" ]; then
echo "❌ Fehler: Keine Ziel-Adresse angegeben!"
echo "💡 Nutzung: ./deploy.sh <IP-oder-Hostname-des-Pi> [Benutzername]"
echo "📌 Beispiel: ./deploy.sh 192.168.178.50"
echo "📌 Beispiel: ./deploy.sh raspi-4.local pi"
exit 1
fi
# Ziel-Konfiguration festlegen
TARGET_HOST="$1"
TARGET_USER="${2:-$USER}" # Nutzt den aktuellen Ubuntu-User, falls kein User übergeben wird
TARGET_DIR="~/spannung"
echo "🚀 Starte Deployment auf $TARGET_USER@$TARGET_HOST..."
# 1. Prüfen, ob der lokale 'app'-Ordner existiert
if [ ! -d "app" ]; then
echo "❌ Fehler: Der Ordner 'app' existiert nicht."
echo "🛠️ Bitte führen Sie zuerst ./build.sh aus!"
exit 1
fi
# 2. Zielverzeichnis auf dem Raspberry Pi vorbereiten (alte App-Dateien löschen)
echo "🧹 Bereinige altes App-Verzeichnis auf dem Raspberry Pi..."
ssh "$TARGET_USER@$TARGET_HOST" "mkdir -p $TARGET_DIR && rm -rf $TARGET_DIR/app"
# 3. Den neuen 'app'-Ordner via SCP auf den Pi kopieren
echo "📦 Kopiere 'app'-Ordner auf den Raspberry Pi..."
scp -r ./app "$TARGET_USER@$TARGET_HOST:$TARGET_DIR/"
echo "✅ Deployment erfolgreich abgeschlossen!"
echo "📍 Die Dateien liegen auf dem Pi unter: $TARGET_DIR/app"