diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 4e47dd7..65b3878 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -26,32 +26,32 @@ jobs: git config --global http.sslVerify false git checkout master - - name: Build Docker Image (Native Java 21) + - name: Build and Deploy (LXC-Safe) run: | - # 1. Java 21 & Docker-CLI installieren (CLI wird für Sockets oft benötigt) + # 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 docker.io + apt-get update && apt-get install -y openjdk-21-jdk-headless elif command -v apk >/dev/null; then - apk add --no-cache openjdk21 docker-cli + apk add --no-cache openjdk21 fi - # 2. Socket-Berechtigung innerhalb des Containers erzwingen - # Wir versuchen den aktuellen User in die Docker-Gruppe zu mogeln - chmod 666 /var/run/docker.sock - - # 3. JAVA_HOME setzen + # 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 - # 4. Gradle Build mit expliziten Docker-Berechtigungen + # 3. Das JAR-File bauen (Hier brauchen wir noch kein Docker!) chmod +x gradlew - - # Wir nutzen sudo, falls vorhanden, um den Creator-Prozess zu starten - if command -v sudo >/dev/null; then - sudo ./gradlew bootBuildImage --imageName=xxx-sphere-web:latest - else - ./gradlew bootBuildImage --imageName=xxx-sphere-web:latest - fi + ./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 + docker compose up -d --force-recreate - name: Deploy Container run: | diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bf04784 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +FROM eclipse-temurin:21-jre-noble +WORKDIR /app +COPY build/libs/*.jar app.jar +ENTRYPOINT ["java", "-jar", "app.jar"]