name: Host-Based Deploy (Java 21 Fix) on: push: branches: - master jobs: build-and-run: # WICHTIG: Hier nutzen wir das neue Host-Label runs-on: pve-host steps: - name: Checkout Code run: | # Debug: Wer ist git.langhei.de? cat /etc/hosts ping -c 1 git.langhei.de || echo "Ping failed" # Sicherstellen, dass wir im richtigen Verzeichnis sind rm -rf ./* || true # Versuch über die Domain git clone http://git.langhei.de/Entwicklung/xxx-sphere-web.git . || \ # FALLBACK: Versuch über die IP direkt, falls DNS im Container hakt git clone http://192.168.178.93:3000/Entwicklung/xxx-sphere-web.git . git config --global http.sslVerify false git checkout master - name: Build Docker Image (Native Java 21) run: | # 1. Paketmanager finden und Java 21 installieren if command -v apt-get >/dev/null; then apt-get update && apt-get install -y openjdk-21-jdk-headless elif command -v apk >/dev/null; then apk add --no-cache openjdk21 else echo "Kein bekannter Paketmanager gefunden!" && exit 1 fi # 2. JAVA_HOME dynamisch setzen export JAVA_HOME=$(java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home' | awk '{print $3}') export PATH=$JAVA_HOME/bin:$PATH echo "Nutze Java von: $JAVA_HOME" java -version # 3. Gradle Build chmod +x gradlew ./gradlew bootBuildImage --imageName=xxx-sphere-web:latest - name: Deploy Container run: | docker compose up -d --force-recreate