From 3c705b6ad8435a44dde60a4bf270315693113af5 Mon Sep 17 00:00:00 2001 From: nilzbu Date: Sat, 9 Aug 2025 17:44:22 +0200 Subject: [PATCH] pipeline --- .gitea/workflows/buildAndDeply.yaml | 44 ++++++++++++++++------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/.gitea/workflows/buildAndDeply.yaml b/.gitea/workflows/buildAndDeply.yaml index c622220..961b4de 100644 --- a/.gitea/workflows/buildAndDeply.yaml +++ b/.gitea/workflows/buildAndDeply.yaml @@ -20,60 +20,64 @@ jobs: - name: 🔎 Umgebung & Volumes shell: bash run: | - set -euo pipefail + set -euxo pipefail + echo "JAVA_HOME=${JAVA_HOME:-}" java -version + echo "Node:" node -v + echo "pnpm (falls vorhanden):" pnpm -v || true + echo "Volumes:" ls -ld /shared_jar_data /shared_trigger_dir - name: ⚙️ Gradle konfigurieren shell: bash run: | - set -euo pipefail + set -euxo pipefail mkdir -p ~/.gradle { echo "org.gradle.daemon=false" echo "org.gradle.warning.mode=all" - # Wir benutzen das im Container vorhandene JDK 21 (kein Auto-Download): + # WICHTIG: JDK 21 aus dem Container verwenden, keine Auto-Downloads: echo "org.gradle.java.installations.auto-download=false" + echo "org.gradle.java.installations.fromEnv=JAVA_HOME" + echo "org.gradle.java.installations.paths=${JAVA_HOME}" } > ~/.gradle/gradle.properties + cat ~/.gradle/gradle.properties - name: 🔎 Gradle-Info shell: bash run: | - set -euo pipefail - ./gradlew --version || true + set -euxo pipefail + chmod +x gradlew || true + ./gradlew --version ./gradlew -q javaToolchains || true - name: 🛠 Baue das Projekt (ohne Tests) shell: bash run: | - set -euo pipefail - # Für Spring Boot genügt in der Regel bootJar: - ./gradlew clean bootJar -x test + set -euxo pipefail + ./gradlew clean bootJar -x test --info --stacktrace - name: 📦 Artefakt finden & kopieren shell: bash run: | - set -euo pipefail + set -euxo pipefail echo "Inhalt von build/libs:" ls -l build/libs || { echo "build/libs existiert nicht"; exit 1; } - - # Neuestes JAR aus build/libs ermitteln (unabhängig vom exakten Namen/Case) ARTIFACT="$(ls -t build/libs/*.jar 2>/dev/null | head -n1)" - test -n "$ARTIFACT" && test -f "$ARTIFACT" || { echo "Kein JAR gefunden!"; exit 1; } - echo "Gefundenes Artefakt: $ARTIFACT" - + test -n "${ARTIFACT}" && test -f "${ARTIFACT}" || { echo "Kein JAR gefunden!"; exit 1; } + echo "Gefundenes Artefakt: ${ARTIFACT}" mkdir -p /shared_jar_data /shared_jar_data/archive - timestamp=$(date +"%Y%m%d-%H%M%S") - - # Zielname stabil halten (für Ihren Deployment-Prozess) - cp "$ARTIFACT" /shared_jar_data/MyTimeTracker.jar - cp "$ARTIFACT" "/shared_jar_data/archive/MyTimeTracker-$timestamp.jar" + timestamp="$(date +'%Y%m%d-%H%M%S')" + cp "${ARTIFACT}" /shared_jar_data/MyTimeTracker.jar + cp "${ARTIFACT}" "/shared_jar_data/archive/MyTimeTracker-${timestamp}.jar" + echo "Zielverzeichnis:" + ls -l /shared_jar_data /shared_jar_data/archive - name: 🚦 Neustart der Anwendung triggern shell: bash run: | - set -euo pipefail + set -euxo pipefail mkdir -p /shared_trigger_dir touch /shared_trigger_dir/restart-requested