Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f71a1a0

Browse files
committed
feat: add JDK25 images (#2146)
* feat: add JDK25 images * no jlink for now
1 parent 0bd45d8 commit f71a1a0

11 files changed

Lines changed: 144 additions & 56 deletions

File tree

Jenkinsfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,12 +122,16 @@ stage('Build') {
122122
def images = [
123123
'alpine_jdk17',
124124
'alpine_jdk21',
125+
'alpine_jdk25',
125126
'debian_jdk17',
126127
'debian_jdk21',
128+
'debian_jdk25',
127129
'debian-slim_jdk17',
128130
'debian-slim_jdk21',
131+
'debian-slim_jdk25',
129132
'rhel_jdk17',
130133
'rhel_jdk21',
134+
'rhel_jdk25',
131135
]
132136
for (i in images) {
133137
def imageToBuild = i

alpine/hotspot/Dockerfile

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,24 @@ ENV PATH="/opt/jdk-${JAVA_VERSION}/bin:${PATH}"
2121
# Generate smaller java runtime without unneeded files
2222
# for now we include the full module path to maintain compatibility
2323
# while still saving space (approx 200mb from the full distribution)
24-
RUN case "$(jlink --version 2>&1)" in \
25-
"17."*) set -- "--compress=2" ;; \
26-
# the compression argument is different for JDK21
27-
"21."*) set -- "--compress=zip-6" ;; \
28-
*) echo "ERROR: unmanaged jlink version pattern" && exit 1 ;; \
29-
esac; \
30-
jlink \
31-
--strip-java-debug-attributes \
32-
"$1" \
33-
--add-modules ALL-MODULE-PATH \
34-
--no-man-pages \
35-
--no-header-files \
36-
--output /javaruntime
24+
# hadolint ignore=SC2086
25+
RUN java_major_version="$(jlink --version 2>&1 | cut -c1-2)"; \
26+
if [ "$java_major_version" = "25" ]; then \
27+
cp -r "/opt/jdk-${JAVA_VERSION}" /javaruntime; \
28+
else \
29+
case "$java_major_version" in \
30+
"17") options="--compress=2" ;; \
31+
"21") options="--compress=zip-6" ;; \
32+
*) echo "ERROR: unmanaged jlink version pattern" && exit 1 ;; \
33+
esac; \
34+
jlink \
35+
--strip-java-debug-attributes \
36+
${options} \
37+
--add-modules ALL-MODULE-PATH \
38+
--no-man-pages \
39+
--no-header-files \
40+
--output /javaruntime; \
41+
fi
3742

3843
FROM alpine:"${ALPINE_TAG}" AS controller
3944

build-windows.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,21 @@ services:
3131
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}:${JENKINS_VERSION}-jdk21-hotspot-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
3232
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}:${JENKINS_VERSION}-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
3333
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}${SEPARATOR_LTS_PREFIX}${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
34+
jdk25:
35+
image: ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}${SEPARATOR_LTS_PREFIX}jdk25-hotspot-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
36+
build:
37+
context: ./
38+
dockerfile: ./windows/${WINDOWS_FLAVOR}/hotspot/Dockerfile
39+
args:
40+
COMMIT_SHA: ${COMMIT_SHA}
41+
JAVA_HOME: "C:/openjdk-25"
42+
JAVA_VERSION: 25.0.1_8
43+
WAR_SHA: ${WAR_SHA}
44+
JENKINS_VERSION: ${JENKINS_VERSION}
45+
WAR_URL: ${WAR_URL}
46+
TOOLS_WINDOWS_VERSION: ${TOOLS_WINDOWS_VERSION}
47+
WINDOWS_VERSION: ${WINDOWS_VERSION}
48+
tags:
49+
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}:${JENKINS_VERSION}-jdk25-hotspot-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
50+
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}:${JENKINS_VERSION}-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
51+
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}${SEPARATOR_LTS_PREFIX}${WINDOWS_FLAVOR}-${WINDOWS_VERSION}

debian/Dockerfile

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,24 @@ ENV PATH="/opt/jdk-${JAVA_VERSION}/bin:${PATH}"
2323
# Generate smaller java runtime without unneeded files
2424
# for now we include the full module path to maintain compatibility
2525
# while still saving space (approx 200mb from the full distribution)
26-
RUN case "$(jlink --version 2>&1)" in \
27-
"17."*) set -- "--compress=2" ;; \
28-
# the compression argument is different for JDK21
29-
"21."*) set -- "--compress=zip-6" ;; \
30-
*) echo "ERROR: unmanaged jlink version pattern" && exit 1 ;; \
31-
esac; \
32-
jlink \
33-
--strip-java-debug-attributes \
34-
"$1" \
35-
--add-modules ALL-MODULE-PATH \
36-
--no-man-pages \
37-
--no-header-files \
38-
--output /javaruntime
26+
# hadolint ignore=SC2086
27+
RUN java_major_version="$(jlink --version 2>&1 | cut -c1-2)"; \
28+
if [ "$java_major_version" = "25" ]; then \
29+
cp -r "/opt/jdk-${JAVA_VERSION}" /javaruntime; \
30+
else \
31+
case "$java_major_version" in \
32+
"17") options="--compress=2" ;; \
33+
"21") options="--compress=zip-6" ;; \
34+
*) echo "ERROR: unmanaged jlink version pattern" && exit 1 ;; \
35+
esac; \
36+
jlink \
37+
--strip-java-debug-attributes \
38+
${options} \
39+
--add-modules ALL-MODULE-PATH \
40+
--no-man-pages \
41+
--no-header-files \
42+
--output /javaruntime; \
43+
fi
3944

4045
FROM debian:"${DEBIAN_RELEASE_LINE}-${DEBIAN_VERSION}${DEBIAN_VARIANT}" AS controller
4146

docker-bake.hcl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Variables
22
variable "jdks_to_build" {
3-
default = [17, 21]
3+
default = [17, 21, 25]
44
}
55

66
variable "windows_version_to_build_for_lts" {
@@ -67,6 +67,10 @@ variable "JAVA21_VERSION" {
6767
default = "21.0.9_10"
6868
}
6969

70+
variable "JAVA25_VERSION" {
71+
default = "25.0.1_8"
72+
}
73+
7074
variable "DEBIAN_RELEASE_LINE" {
7175
default = "trixie"
7276
}
@@ -93,6 +97,7 @@ variable "jdk_versions" {
9397
default = {
9498
17 = JAVA17_VERSION
9599
21 = JAVA21_VERSION
100+
25 = JAVA25_VERSION
96101
}
97102
}
98103

rhel/Dockerfile

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,24 @@ ENV PATH="/opt/jdk-${JAVA_VERSION}/bin:${PATH}"
2121
# Generate smaller java runtime without unneeded files
2222
# for now we include the full module path to maintain compatibility
2323
# while still saving space (approx 200mb from the full distribution)
24-
RUN case "$(jlink --version 2>&1)" in \
25-
"17."*) set -- "--compress=2" ;; \
26-
# the compression argument is different for JDK21
27-
"21."*) set -- "--compress=zip-6" ;; \
28-
*) echo "ERROR: unmanaged jlink version pattern" && exit 1 ;; \
29-
esac; \
30-
jlink \
31-
--strip-java-debug-attributes \
32-
"$1" \
33-
--add-modules ALL-MODULE-PATH \
34-
--no-man-pages \
35-
--no-header-files \
36-
--output /javaruntime
24+
# hadolint ignore=SC2086
25+
RUN java_major_version="$(jlink --version 2>&1 | cut -c1-2)"; \
26+
if [ "$java_major_version" = "25" ]; then \
27+
cp -r "/opt/jdk-${JAVA_VERSION}" /javaruntime; \
28+
else \
29+
case "$java_major_version" in \
30+
"17") options="--compress=2" ;; \
31+
"21") options="--compress=zip-6" ;; \
32+
*) echo "ERROR: unmanaged jlink version pattern" && exit 1 ;; \
33+
esac; \
34+
jlink \
35+
--strip-java-debug-attributes \
36+
${options} \
37+
--add-modules ALL-MODULE-PATH \
38+
--no-man-pages \
39+
--no-header-files \
40+
--output /javaruntime; \
41+
fi
3742

3843
FROM registry.access.redhat.com/${RHEL_RELEASE_LINE}/ubi:${RHEL_TAG} AS controller
3944

tests/golden/expected_platforms.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
alpine_jdk17:linux/amd64
22
alpine_jdk21:linux/amd64
33
alpine_jdk21:linux/arm64
4+
alpine_jdk25:linux/amd64
5+
alpine_jdk25:linux/arm64
46
debian-slim_jdk17:linux/amd64
57
debian-slim_jdk21:linux/amd64
68
debian-slim_jdk21:linux/arm64
9+
debian-slim_jdk25:linux/amd64
10+
debian-slim_jdk25:linux/arm64
711
debian_jdk17:linux/amd64
812
debian_jdk17:linux/arm64
913
debian_jdk17:linux/ppc64le
@@ -12,11 +16,19 @@ debian_jdk21:linux/amd64
1216
debian_jdk21:linux/arm64
1317
debian_jdk21:linux/ppc64le
1418
debian_jdk21:linux/s390x
19+
debian_jdk25:linux/amd64
20+
debian_jdk25:linux/arm64
21+
debian_jdk25:linux/ppc64le
22+
debian_jdk25:linux/s390x
1523
rhel_jdk17:linux/amd64
1624
rhel_jdk17:linux/arm64
1725
rhel_jdk17:linux/ppc64le
1826
rhel_jdk21:linux/amd64
1927
rhel_jdk21:linux/arm64
2028
rhel_jdk21:linux/ppc64le
29+
rhel_jdk25:linux/amd64
30+
rhel_jdk25:linux/arm64
31+
rhel_jdk25:linux/ppc64le
2132
windowsservercore-ltsc2019_jdk17:windows/amd64
2233
windowsservercore-ltsc2019_jdk21:windows/amd64
34+
windowsservercore-ltsc2019_jdk25:windows/amd64

tests/golden/expected_tags.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,18 @@ docker.io/jenkins/jenkins:2.534 (debian_jdk21)
22
docker.io/jenkins/jenkins:2.534-alpine (alpine_jdk21)
33
docker.io/jenkins/jenkins:2.534-alpine-jdk17 (alpine_jdk17)
44
docker.io/jenkins/jenkins:2.534-alpine-jdk21 (alpine_jdk21)
5+
docker.io/jenkins/jenkins:2.534-alpine-jdk25 (alpine_jdk25)
56
docker.io/jenkins/jenkins:2.534-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)
67
docker.io/jenkins/jenkins:2.534-jdk17 (debian_jdk17)
78
docker.io/jenkins/jenkins:2.534-jdk17-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk17)
89
docker.io/jenkins/jenkins:2.534-jdk21 (debian_jdk21)
910
docker.io/jenkins/jenkins:2.534-jdk21-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)
11+
docker.io/jenkins/jenkins:2.534-jdk25 (debian_jdk25)
12+
docker.io/jenkins/jenkins:2.534-jdk25-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk25)
1013
docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk17 (rhel_jdk17)
1114
docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk21 (rhel_jdk21)
15+
docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk25 (rhel_jdk25)
1216
docker.io/jenkins/jenkins:2.534-slim (debian-slim_jdk21)
1317
docker.io/jenkins/jenkins:2.534-slim-jdk17 (debian-slim_jdk17)
1418
docker.io/jenkins/jenkins:2.534-slim-jdk21 (debian-slim_jdk21)
19+
docker.io/jenkins/jenkins:2.534-slim-jdk25 (debian-slim_jdk25)

tests/golden/expected_tags_latest_lts.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,47 @@ docker.io/jenkins/jenkins:2.504.3 (debian_jdk21)
22
docker.io/jenkins/jenkins:2.504.3-alpine (alpine_jdk21)
33
docker.io/jenkins/jenkins:2.504.3-alpine-jdk17 (alpine_jdk17)
44
docker.io/jenkins/jenkins:2.504.3-alpine-jdk21 (alpine_jdk21)
5+
docker.io/jenkins/jenkins:2.504.3-alpine-jdk25 (alpine_jdk25)
56
docker.io/jenkins/jenkins:2.504.3-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)
67
docker.io/jenkins/jenkins:2.504.3-jdk17 (debian_jdk17)
78
docker.io/jenkins/jenkins:2.504.3-jdk17-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk17)
89
docker.io/jenkins/jenkins:2.504.3-jdk21 (debian_jdk21)
910
docker.io/jenkins/jenkins:2.504.3-jdk21-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)
11+
docker.io/jenkins/jenkins:2.504.3-jdk25 (debian_jdk25)
12+
docker.io/jenkins/jenkins:2.504.3-jdk25-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk25)
1013
docker.io/jenkins/jenkins:2.504.3-lts (debian_jdk21)
1114
docker.io/jenkins/jenkins:2.504.3-lts-alpine (alpine_jdk21)
1215
docker.io/jenkins/jenkins:2.504.3-lts-jdk17 (debian_jdk17)
1316
docker.io/jenkins/jenkins:2.504.3-lts-jdk21 (debian_jdk21)
17+
docker.io/jenkins/jenkins:2.504.3-lts-jdk25 (debian_jdk25)
1418
docker.io/jenkins/jenkins:2.504.3-lts-rhel-ubi9-jdk17 (rhel_jdk17)
1519
docker.io/jenkins/jenkins:2.504.3-lts-rhel-ubi9-jdk21 (rhel_jdk21)
20+
docker.io/jenkins/jenkins:2.504.3-lts-rhel-ubi9-jdk25 (rhel_jdk25)
1621
docker.io/jenkins/jenkins:2.504.3-lts-slim (debian-slim_jdk21)
1722
docker.io/jenkins/jenkins:2.504.3-rhel-ubi9-jdk17 (rhel_jdk17)
1823
docker.io/jenkins/jenkins:2.504.3-rhel-ubi9-jdk21 (rhel_jdk21)
24+
docker.io/jenkins/jenkins:2.504.3-rhel-ubi9-jdk25 (rhel_jdk25)
1925
docker.io/jenkins/jenkins:2.504.3-slim (debian-slim_jdk21)
2026
docker.io/jenkins/jenkins:2.504.3-slim-jdk17 (debian-slim_jdk17)
2127
docker.io/jenkins/jenkins:2.504.3-slim-jdk21 (debian-slim_jdk21)
28+
docker.io/jenkins/jenkins:2.504.3-slim-jdk25 (debian-slim_jdk25)
2229
docker.io/jenkins/jenkins:2.504.3-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)
2330
docker.io/jenkins/jenkins:lts (debian_jdk21)
2431
docker.io/jenkins/jenkins:lts-alpine (alpine_jdk21)
2532
docker.io/jenkins/jenkins:lts-alpine-jdk17 (alpine_jdk17)
2633
docker.io/jenkins/jenkins:lts-alpine-jdk21 (alpine_jdk21)
34+
docker.io/jenkins/jenkins:lts-alpine-jdk25 (alpine_jdk25)
2735
docker.io/jenkins/jenkins:lts-jdk17 (debian_jdk17)
2836
docker.io/jenkins/jenkins:lts-jdk17-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk17)
2937
docker.io/jenkins/jenkins:lts-jdk21 (debian_jdk21)
3038
docker.io/jenkins/jenkins:lts-jdk21-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)
39+
docker.io/jenkins/jenkins:lts-jdk25 (debian_jdk25)
40+
docker.io/jenkins/jenkins:lts-jdk25-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk25)
3141
docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk17 (rhel_jdk17)
3242
docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk21 (rhel_jdk21)
43+
docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk25 (rhel_jdk25)
3344
docker.io/jenkins/jenkins:lts-slim (debian-slim_jdk21)
3445
docker.io/jenkins/jenkins:lts-slim-jdk17 (debian-slim_jdk17)
3546
docker.io/jenkins/jenkins:lts-slim-jdk21 (debian-slim_jdk21)
47+
docker.io/jenkins/jenkins:lts-slim-jdk25 (debian-slim_jdk25)
3648
docker.io/jenkins/jenkins:lts-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)

tests/golden/expected_tags_latest_weekly.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,44 @@ docker.io/jenkins/jenkins:2.534 (debian_jdk21)
22
docker.io/jenkins/jenkins:2.534-alpine (alpine_jdk21)
33
docker.io/jenkins/jenkins:2.534-alpine-jdk17 (alpine_jdk17)
44
docker.io/jenkins/jenkins:2.534-alpine-jdk21 (alpine_jdk21)
5+
docker.io/jenkins/jenkins:2.534-alpine-jdk25 (alpine_jdk25)
56
docker.io/jenkins/jenkins:2.534-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)
67
docker.io/jenkins/jenkins:2.534-jdk17 (debian_jdk17)
78
docker.io/jenkins/jenkins:2.534-jdk17-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk17)
89
docker.io/jenkins/jenkins:2.534-jdk21 (debian_jdk21)
910
docker.io/jenkins/jenkins:2.534-jdk21-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)
11+
docker.io/jenkins/jenkins:2.534-jdk25 (debian_jdk25)
12+
docker.io/jenkins/jenkins:2.534-jdk25-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk25)
1013
docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk17 (rhel_jdk17)
1114
docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk21 (rhel_jdk21)
15+
docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk25 (rhel_jdk25)
1216
docker.io/jenkins/jenkins:2.534-slim (debian-slim_jdk21)
1317
docker.io/jenkins/jenkins:2.534-slim-jdk17 (debian-slim_jdk17)
1418
docker.io/jenkins/jenkins:2.534-slim-jdk21 (debian-slim_jdk21)
19+
docker.io/jenkins/jenkins:2.534-slim-jdk25 (debian-slim_jdk25)
1520
docker.io/jenkins/jenkins:2.534-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)
1621
docker.io/jenkins/jenkins:alpine (alpine_jdk21)
1722
docker.io/jenkins/jenkins:alpine-jdk17 (alpine_jdk17)
1823
docker.io/jenkins/jenkins:alpine-jdk21 (alpine_jdk21)
24+
docker.io/jenkins/jenkins:alpine-jdk25 (alpine_jdk25)
1925
docker.io/jenkins/jenkins:alpine3.23-jdk17 (alpine_jdk17)
2026
docker.io/jenkins/jenkins:alpine3.23-jdk21 (alpine_jdk21)
27+
docker.io/jenkins/jenkins:alpine3.23-jdk25 (alpine_jdk25)
2128
docker.io/jenkins/jenkins:jdk17 (debian_jdk17)
2229
docker.io/jenkins/jenkins:jdk17-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk17)
2330
docker.io/jenkins/jenkins:jdk21 (debian_jdk21)
2431
docker.io/jenkins/jenkins:jdk21-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)
32+
docker.io/jenkins/jenkins:jdk25 (debian_jdk25)
33+
docker.io/jenkins/jenkins:jdk25-hotspot-windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk25)
2534
docker.io/jenkins/jenkins:latest (debian_jdk21)
2635
docker.io/jenkins/jenkins:latest-jdk17 (debian_jdk17)
2736
docker.io/jenkins/jenkins:latest-jdk21 (debian_jdk21)
37+
docker.io/jenkins/jenkins:latest-jdk25 (debian_jdk25)
2838
docker.io/jenkins/jenkins:rhel-ubi9-jdk17 (rhel_jdk17)
2939
docker.io/jenkins/jenkins:rhel-ubi9-jdk21 (rhel_jdk21)
40+
docker.io/jenkins/jenkins:rhel-ubi9-jdk25 (rhel_jdk25)
3041
docker.io/jenkins/jenkins:slim (debian-slim_jdk21)
3142
docker.io/jenkins/jenkins:slim-jdk17 (debian-slim_jdk17)
3243
docker.io/jenkins/jenkins:slim-jdk21 (debian-slim_jdk21)
44+
docker.io/jenkins/jenkins:slim-jdk25 (debian-slim_jdk25)
3345
docker.io/jenkins/jenkins:windowsservercore-ltsc2019 (windowsservercore-ltsc2019_jdk21)

0 commit comments

Comments
 (0)