From 59d284eeb801779b13f009822854e64b2a80dd6b Mon Sep 17 00:00:00 2001 From: Martin Lowe Date: Mon, 24 Nov 2025 13:45:59 -0500 Subject: [PATCH 1/3] chore: Add new Java 21 image using the JRE as a base over the SDK As brought up by Thomas, the base JDK image is the JDK, with the `-runtime` suffix being used to get a JRE based image. As we compile outside of the runtime image, we can use the lighter JRE image to run the application. --- Jenkinsfile | 5 +++-- build.sh | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index c4e7703..ad66dd8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -117,8 +117,9 @@ pipeline { } steps { buildImage('java-api-base', 'j11-openjdk', 'java-api-base', ['JDK_VERSION':'11:1.17']) - buildImage('java-api-base', 'j17-openjdk', 'java-api-base', ['JDK_VERSION':'17:1.22-1.1752621170'], true) - buildImage('java-api-base', 'j21-openjdk', 'java-api-base', ['JDK_VERSION':'21:1.22-1.1752676422']) + buildImage('java-api-base', 'j17-openjdk', 'java-api-base', ['JDK_VERSION':'17:1.22-1.1752621170']) + buildImage('java-api-base', 'j21-openjdk', 'java-api-base', ['JDK_VERSION':'21:1.22-1.1752676422'], true) + buildImage('java-api-base', 'j21-openjdk-runtime', 'java-api-base', ['JDK_VERSION':'21-runtime:1.23']) } } diff --git a/build.sh b/build.sh index 0b0e121..03ee96b 100755 --- a/build.sh +++ b/build.sh @@ -44,7 +44,8 @@ build_arg stack-build-agent a3.22-h144-n22-jdk21 "--build-arg ALPINE_VERSION=3.2 build_arg native-build-agent jdk21-n22 "--build-arg NODE_VERSION=v22.17.0" latest build_arg java-api-base j11-openjdk "--build-arg JDK_VERSION=11:1.17" -build_arg java-api-base j17-openjdk "--build-arg JDK_VERSION=17:1.22-1.1752621170" latest -build_arg java-api-base j21-openjdk "--build-arg JDK_VERSION=21:1.22-1.1752676422" +build_arg java-api-base j17-openjdk "--build-arg JDK_VERSION=17:1.22-1.1752621170" +build_arg java-api-base j21-openjdk "--build-arg JDK_VERSION=21:1.22-1.1752676422" latest +build_arg java-api-base j21-openjdk-runtime "--build-arg JDK_VERSION=21-runtime:1.23" build_arg containertools alpine-latest "" latest From 5fc4cceffb8b71ebac7e9c520f6bcaabe9f971d1 Mon Sep 17 00:00:00 2001 From: Martin Lowe Date: Mon, 24 Nov 2025 13:47:41 -0500 Subject: [PATCH 2/3] fix: Update the pkg versions of latest SBA to fix build --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 03ee96b..5dac6f7 100755 --- a/build.sh +++ b/build.sh @@ -38,7 +38,7 @@ build_arg drupal-node d11.1.3-n22.14.0 "--build-arg DRUPAL_VERSION=11.1.3 --buil build_arg stack-build-agent h111.3-n18.17-jdk11 "" latest build_arg stack-build-agent h111.3-n18.17-jdk17 "--build-arg JDK_VERSION=17" build_arg stack-build-agent a3.19-h120-n20-jdk17 "--build-arg ALPINE_VERSION=3.19 --build-arg JDK_VERSION=17 --build-arg NODE_VERSION=20.15.1-r0 --build-arg NPM_VERSION=10.2.5-r0 --build-arg HUGO_VERSION=0.120.4 --build-arg YARN_VERSION=1.22.19-r0" -build_arg stack-build-agent a3.22-h144-n22-jdk21 "--build-arg ALPINE_VERSION=3.22 --build-arg JDK_VERSION=21 --build-arg NODE_VERSION=22.16.0-r2 --build-arg NPM_VERSION=11.3.0-r1 --build-arg HUGO_VERSION=0.144.2 --build-arg YARN_VERSION=1.22.22-r1" +build_arg stack-build-agent a3.22-h144-n22-jdk21 "--build-arg ALPINE_VERSION=3.22 --build-arg JDK_VERSION=21 --build-arg NODE_VERSION=22.16.0-r2 --build-arg NPM_VERSION=11.6.3-r0 --build-arg HUGO_VERSION=0.144.2 --build-arg YARN_VERSION=1.22.22-r1" ## Used for native builds build_arg native-build-agent jdk21-n22 "--build-arg NODE_VERSION=v22.17.0" latest From ff44754f88e427820be6119d7b6f047154d93f32 Mon Sep 17 00:00:00 2001 From: Martin Lowe Date: Mon, 24 Nov 2025 13:51:34 -0500 Subject: [PATCH 3/3] fix: Update Java runner base image to have basic debug tools --- java-api-base/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java-api-base/Dockerfile b/java-api-base/Dockerfile index abcf578..597c338 100644 --- a/java-api-base/Dockerfile +++ b/java-api-base/Dockerfile @@ -8,8 +8,8 @@ FROM registry.access.redhat.com/ubi9/openjdk-${JDK_VERSION} ENV LANGUAGE='en_US:en' USER root -# Required to patch for CVEs as base image doesn't appear to run patches -RUN microdnf upgrade -y +# Install for debugging tools +RUN microdnf update -y && microdnf install -y procps EXPOSE 8080