chore(infra): optimize Gradle builds, add Keycloak to CI, and improve Docker caching
This commit is contained in:
@@ -23,6 +23,8 @@ env:
|
|||||||
# Build Arguments für Zora (ARM64 Power)
|
# Build Arguments für Zora (ARM64 Power)
|
||||||
JAVA_VERSION: "25"
|
JAVA_VERSION: "25"
|
||||||
GRADLE_VERSION: "9.3.1"
|
GRADLE_VERSION: "9.3.1"
|
||||||
|
# OPTIMIERUNG: Gradle Parameter für mehr Speed
|
||||||
|
GRADLE_OPTS: "-Dorg.gradle.parallel=true -Dorg.gradle.workers.max=8"
|
||||||
# Deine neuen JVM Power-Flags für ARM64 (Cortex-A720)
|
# Deine neuen JVM Power-Flags für ARM64 (Cortex-A720)
|
||||||
JVM_OPTS_ARM64: "-XX:ActiveProcessorCount=12 -XX:+UseG1GC -XX:+UseTransparentHugePages -XX:+UseSVE=1"
|
JVM_OPTS_ARM64: "-XX:ActiveProcessorCount=12 -XX:+UseG1GC -XX:+UseTransparentHugePages -XX:+UseSVE=1"
|
||||||
|
|
||||||
@@ -33,6 +35,11 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
|
# NEU: Keycloak wird jetzt auch automatisch gebaut und gepusht
|
||||||
|
- service: keycloak
|
||||||
|
context: .
|
||||||
|
dockerfile: config/docker/keycloak/Dockerfile
|
||||||
|
image: keycloak
|
||||||
- service: api-gateway
|
- service: api-gateway
|
||||||
context: .
|
context: .
|
||||||
dockerfile: backend/infrastructure/gateway/Dockerfile
|
dockerfile: backend/infrastructure/gateway/Dockerfile
|
||||||
@@ -45,11 +52,6 @@ jobs:
|
|||||||
context: .
|
context: .
|
||||||
dockerfile: config/docker/caddy/web-app/Dockerfile
|
dockerfile: config/docker/caddy/web-app/Dockerfile
|
||||||
image: web-app
|
image: web-app
|
||||||
# NEU: Keycloak wird jetzt auch automatisch gebaut und gepusht
|
|
||||||
- service: keycloak
|
|
||||||
context: .
|
|
||||||
dockerfile: config/docker/keycloak/Dockerfile
|
|
||||||
image: keycloak
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@@ -78,12 +80,11 @@ jobs:
|
|||||||
if: matrix.service == 'web-app'
|
if: matrix.service == 'web-app'
|
||||||
run: |
|
run: |
|
||||||
chmod +x gradlew
|
chmod +x gradlew
|
||||||
./gradlew :frontend:shells:meldestelle-portal:jsBrowserDistribution -Pproduction=true --no-daemon
|
# Wir nutzen --no-daemon im Runner, geben aber mehr Memory
|
||||||
|
./gradlew :frontend:shells:meldestelle-portal:jsBrowserDistribution \
|
||||||
# OPTIMIERUNG: QEMU entfernt, da der Runner nativ auf ARM64 (Zora) läuft.
|
-Pproduction=true \
|
||||||
# Docker Buildx für effizienten Build-Support
|
--max-workers=8 \
|
||||||
# - name: Set up Docker Buildx
|
-Dkotlin.daemon.jvm.options="-Xmx4g"
|
||||||
# uses: docker/setup-buildx-action@v3
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
@@ -128,7 +129,5 @@ jobs:
|
|||||||
JAVA_VERSION=${{ env.JAVA_VERSION }}
|
JAVA_VERSION=${{ env.JAVA_VERSION }}
|
||||||
KEYCLOAK_IMAGE_TAG=26.4
|
KEYCLOAK_IMAGE_TAG=26.4
|
||||||
JVM_OPTS_APPEND=${{ env.JVM_OPTS_ARM64 }}
|
JVM_OPTS_APPEND=${{ env.JVM_OPTS_ARM64 }}
|
||||||
# # KORREKTUR: 'inline' Cache statt 'gha' für Gitea-Kompatibilität
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
# cache-from: type=inline
|
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
|
||||||
# cache-to: type=inline,mode=max
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user