name: "Build und Deploy" on: push: branches: - master jobs: build-and-deploy: runs-on: ubuntu-latest container: image: node:20-bullseye options: --user=root steps: - name: "🧾 Repository auschecken" uses: actions/checkout@v3 - name: "📦 Java und Gradle installieren" run: | apt-get update && apt-get install -y openjdk-21-jdk curl unzip curl -s https://get.sdkman.io | bash export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV curl -LO https://services.gradle.org/distributions/gradle-8.7-bin.zip unzip gradle-8.7-bin.zip -d /opt/gradle ln -s /opt/gradle/gradle-8.7/bin/gradle /usr/local/bin/gradle - name: "📦 Gradle Wrapper ausführbar machen" run: chmod +x ./gradlew - name: "🛠 Projekt bauen" run: ./gradlew build - name: "🐳 Docker Compose: Build & Deploy" run: docker compose -f ./compose.yml up -d --build - name: "🧼 Docker Clean-up (optional)" if: always() run: docker system prune -f