Files
xxx-sphere-web/.gitea/workflows/deploy.yaml
Mario 912718fc40
Some checks failed
Host-Based Deploy (Java 21 Fix) / build-and-run (push) Failing after 13s
Workflow angepasst
2026-04-01 17:19:51 +02:00

67 lines
2.3 KiB
YAML

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 and Deploy (LXC-Safe)
run: |
# 1. Java 21 im Runner-Container 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
fi
# 2. JAVA_HOME setzen
export JAVA_HOME=$(java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home' | awk '{print $3}')
export PATH=$JAVA_HOME/bin:$PATH
# 3. Das JAR-File bauen (Hier brauchen wir noch kein Docker!)
chmod +x gradlew
./gradlew bootJar
# 4. Docker-Socket Berechtigung (für den finalen Build)
chmod 666 /var/run/docker.sock
# 5. Das Image klassisch bauen
# Wir suchen das gebaute JAR und bauen das Image
docker build -t xxx-sphere-web:latest .
# 6. Container starten
# Wir nutzen 'docker-compose' (mit Bindestrich) oder den Standard-Docker-Befehl
if command -v docker-compose >/dev/null; then
docker-compose up -d --force-recreate
else
# Fallback, falls compose fehlt: Alten Container stoppen und neu starten
docker stop xxx-sphere-web || true
docker rm xxx-sphere-web || true
docker run -d --name xxx-sphere-web -p 8080:8080 xxx-sphere-web:latest
fi
- name: Deploy Container
run: |
docker compose up -d --force-recreate