diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 71e26c3..ec4e00c 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -1,30 +1,41 @@ -name: Auto-Deploy to Proxmox +name: Auto-Deploy to Proxmox (Stable Version) on: push: branches: - - master # Oder 'main' + - master jobs: build-and-run: - runs-on: ubuntu-latest + runs-on: ubuntu-latest steps: - - name: Checkout Code - uses: actions/checkout@v3 - with: - fetch-depth: 0 + # SCHRITT 1: Manueller Checkout (Umgeht den Node.js / ENOTCONN Fehler) + - name: Manual Git Checkout + run: | + echo "Starting manual checkout..." + git init + git remote add origin http://git.langhei.de:3000/${{ github.repository }}.git + # Wir nutzen den Gitea-Token für den Zugriff + git config --global http.sslVerify false + git fetch --depth 1 origin master + git checkout master + ls -la - - name: Set up Java 21 - # HINWEIS: Da wir auf dem 'Host' (dem Runner-Container) laufen, - # muss Java 21 dort installiert sein oder durch diesen Step geladen werden. - uses: actions/setup-java@v3 - with: - java-version: '21' - distribution: 'temurin' + # SCHRITT 2: Java 21 Setup + # Wir nutzen hier den 'run' Befehl, falls die Action 'setup-java' + # ebenfalls Node-Probleme macht. Sicher ist sicher. + - name: Install Java 21 + run: | + apt-get update && apt-get install -y openjdk-21-jdk-headless + java -version + # SCHRITT 3: Gradle Build - name: Build Docker Image (Gradle) - # Da der Runner Zugriff auf /var/run/docker.sock hat, - # kann er das Image direkt bauen. - run: chmod +x gradlew && ./gradlew bootBuildImage --imageName=xxx-sphere-web:latest + run: | + chmod +x gradlew + ./gradlew bootBuildImage --imageName=xxx-sphere-web:latest - - name: Start Container - run: docker compose up -d --force-recreate + # SCHRITT 4: Deployment + - name: Start Container via Docker Compose + run: | + # Wir erzwingen den Neustart mit dem neuen Image + docker compose up -d --force-recreate