From 8c2b24cd837d36593ad223ef08b85afb3454b33a Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 30 Jun 2026 22:00:27 +0200 Subject: [PATCH] move java build process to build container --- .forgejo/workflows/build_keycloak.yml | 9 +-------- keycloak/Containerfile | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/.forgejo/workflows/build_keycloak.yml b/.forgejo/workflows/build_keycloak.yml index 606ab21..9c4d246 100644 --- a/.forgejo/workflows/build_keycloak.yml +++ b/.forgejo/workflows/build_keycloak.yml @@ -18,18 +18,11 @@ jobs: keycloak-version: [ 26.6.1, 26.6.2, 26.6.3 ] steps: - name: Install required system packages - run: apk add --no-cache nodejs maven git + run: apk add --no-cache nodejs - name: Checkout Source Code uses: actions/checkout@v6 - - name: Build attribute-endpoints-provider - run: | - git clone https://git.hamburg.ccc.de/CCCHH/keycloak-attribute-endpoints-provider.git - cd keycloak-attribute-endpoints-provider - mvn -f attribute-endpoints-provider verify - cp attribute-endpoints-provider/target/attribute-endpoints-provider-1.0-SNAPSHOT.jar ${{ forgejo.workspace }}/keycloak/attribute-endpoints-provider.jar - - name: Build Container env: KANIKO_NO_PUSH: ${{ forgejo.ref_name != 'main' }} diff --git a/keycloak/Containerfile b/keycloak/Containerfile index f3f6c1e..0f6f1fc 100644 --- a/keycloak/Containerfile +++ b/keycloak/Containerfile @@ -1,13 +1,33 @@ ARG TAG=latest + +FROM debian:12-slim as attribute-endpoints-provider-builder + +RUN apt-get update \ + && apt-get install --no-install-recommends --no-install-suggests -y maven git \ + && rm -rf /var/lib/apt/lists/* + +RUN mkdir /maven +RUN git clone https://git.hamburg.ccc.de/CCCHH/keycloak-attribute-endpoints-provider.git /maven/keycloak-attribute-endpoints-provider + +WORKDIR /maven/keycloak-attribute-endpoints-provider + +RUN mvn -f attribute-endpoints-provider verify + +RUN mv attribute-endpoints-provider/target/attribute-endpoints-provider-*.jar /maven/attribute-endpoints-provider.jar + + FROM quay.io/keycloak/keycloak:${TAG} as builder ENV KC_DB=postgres ENV KC_FEATURES=declarative-ui WORKDIR /opt/keycloak -ADD --chown=keycloak:keycloak --chmod=644 attribute-endpoints-provider.jar /opt/keycloak/providers/attribute-endpoints-provider.jar + +COPY --from=attribute-endpoints-provider-builder /maven/attribute-endpoints-provider.jar /opt/keycloak/providers/attribute-endpoints-provider.jar + RUN /opt/keycloak/bin/kc.sh build + FROM quay.io/keycloak/keycloak:${TAG} COPY --from=builder /opt/keycloak/ /opt/keycloak/ ADD themes/ /opt/keycloak/themes/