🚀 New features and improvements
- feat: add JDK25 images (#2146) @lemeurherve
- feat(windows): build both Windows 2019 and 2022 images (#2209) @lemeurherve
📦 Jenkins Core updates
- Update to Jenkins 2.541.1 (changelog)
📦 Dependency updates
- Bump Alpine Linux Version to 3.23.2 (#2131) @github-actions[bot]
- Bump UBI9 version to 9.7-1766364927 (#2141) @github-actions[bot]
- chore(deps): bump ubi9/ubi from 9.7-1764794285 to 9.7-1766364927 in /rhel/ubi9/hotspot (#2144) @dependabot[bot]
- Bump Debian Trixie version to
20251117(#2138) @lemeurherve - Bump RHEL version to 9.7-1768785530 (#2218) @dependabot[bot]
👻 Maintenance
- chore: add
showtagsMakefile target (#2132) @lemeurherve - chore: reorder docker bake file (#2133) @lemeurherve
- chore: ensure no duplicated tags from
tagsMakefile target (298d864) @lemeurherve - chore: introduce golden file testing of platforms (a1d92dc) @lemeurherve
- chore: regroup Debian images (#2138) @lemeurherve
- chore: define JDKs to build at a single place in docker bake (#2142) @lemeurherve
- chore(rhel): don't include release line in variable names and paths (#2159) @lemeurherve
- chore(bake): simplify
slim_prefixfunction (b0d3fe1) @lemeurherve - chore(bake): refactor
linux_tagsfunction (d3bc3f2) @lemeurherve - chore(pipeline): show targets before building them (#2206) @lemeurherve
- chore: store docker build result metadata (#2205) @lemeurherve
- chore(windows): use docker bake to generate the docker compose file (#2189) @lemeurherve
- chore: show docker bake args and targets before publication (#2211) @lemeurherve
- chore(github): run
updatecliworkflow only on commits or PRs targetingmasterbranch (#2215) @lemeurherve
🚦 Tests
- chore: introduce golden file testing of tags (#2134) (a01a8e6) @lemeurherve
- chore: include docker bake target name in
make tagsoutput (#2140) @lemeurherve - chore(tests): update
batsfrom 1.7.0 to 1.13.0 (b57941c) @lemeurherve - chore: classify tests with
batstags (07ca7c8) @lemeurherve - chore: add
BATS_FLAGSto allow passing options tobatsin Makefile (d283a99) @lemeurherve - chore(tests): strip line break indicator to fix
get_jenkins_passwordtest helper function (#2162) @lemeurherve - Read initial admin password from file instead of logs (#2166) @Abhijeet212004
- chore(tests): use a LTS
JENKINS_VERSIONforexpected_tags_latest_lts(#2184) @lemeurherve - chore(tests): rename
LTS_JENKINS_VERSIONin bake tests (#2186) @lemeurherve - chore(tests): ensure default targets are taken in account in Jenkinsfile (#2183) @lemeurherve
📌 Build metadata
Linux images
{
"alpine_jdk17": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/alpine@3.23.2?platform=linux%2Famd64",
"digest": {
"sha256": "865b95f46d98cf867a156fe4a135ad3fe50d2056aa3f25ed31662dff6da4eb62"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "Dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:ALPINE_TAG": "3.23.2",
"build-arg:COMMIT_SHA": "1122ed9016b703e62a07438f652c04b01938657b",
"build-arg:JAVA_VERSION": "17.0.17_10",
"build-arg:JENKINS_VERSION": "2.541.1",
"build-arg:PLUGIN_CLI_VERSION": "2.13.2",
"build-arg:WAR_SHA": "8b12678aa6f9550b06825b006f9096186b17a7b857e9b68ad3f980d9f430fc94",
"build-arg:WAR_URL": "https://repo.jenkins-ci.org/public/org/jenkins-ci/main/jenkins-war/2.541.1/jenkins-war-2.541.1.war",
"local-sessionid:context": "wqaazkjzshbuggieohabz6b0l",
"local-sessionid:dockerfile": "i6xab3fv3yrzw6xrlnkl5akwz"
},
"locals": [
{
"name": "context"
},
{
"name": "dockerfile"
}
]
},
"environment": {
"platform": "linux/amd64"
}
}
},
"buildx.build.ref": "optimistic_carson/optimistic_carson0/6qz8jl3mbzrhh90t00j2qwiz5",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:7f3af286b3ee718212383b30ed33e5252ce6adefe7f2faf1da25409d1a11be74",
"size": 856
},
"containerimage.digest": "sha256:7f3af286b3ee718212383b30ed33e5252ce6adefe7f2faf1da25409d1a11be74",
"image.name": "docker.io/jenkins/jenkins:2.541.1-alpine-jdk17,docker.io/jenkins/jenkins:lts-alpine-jdk17"
},
"alpine_jdk21": {
"buildx.build.ref": "optimistic_carson/optimistic_carson0/nn4dw6yy0v306qfgynzotqif4",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:bdc6a0e0d6b8578ce2a1f952bc0ecdc0c5f6e6d8e0e5ba3522fc50b6f9800bc7",
"size": 1609
},
"containerimage.digest": "sha256:bdc6a0e0d6b8578ce2a1f952bc0ecdc0c5f6e6d8e0e5ba3522fc50b6f9800bc7",
"image.name": "docker.io/jenkins/jenkins:2.541.1-alpine-jdk21,docker.io/jenkins/jenkins:lts-alpine-jdk21,docker.io/jenkins/jenkins:2.541.1-alpine,docker.io/jenkins/jenkins:lts-alpine,docker.io/jenkins/jenkins:2.541.1-lts-alpine"
},
"alpine_jdk25": {
"buildx.build.ref": "optimistic_carson/optimistic_carson0/i0b1akpi7rs9g1eql2n3h63ub",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:dd29e07e4bad597cee7da72a38883c80c22edd70dee390c14cb4b640e8f784c7",
"size": 1609
},
"containerimage.digest": "sha256:dd29e07e4bad597cee7da72a38883c80c22edd70dee390c14cb4b640e8f784c7",
"image.name": "docker.io/jenkins/jenkins:2.541.1-alpine-jdk25,docker.io/jenkins/jenkins:lts-alpine-jdk25"
},
"debian-slim_jdk17": {
"buildx.build.provenance": {
"builder": {
"id": ""
},
"buildType": "https://mobyproject.org/buildkit@v1",
"materials": [
{
"uri": "pkg:docker/debian@trixie-20251117-slim?platform=linux%2Famd64",
"digest": {
"sha256": "18764e98673c3baf1a6f8d960b5b5a1ec69092049522abac4e24a7726425b016"
}
}
],
"invocation": {
"configSource": {
"entryPoint": "Dockerfile"
},
"parameters": {
"frontend": "dockerfile.v0",
"args": {
"build-arg:COMMIT_SHA": "1122ed9016b703e62a07438f652c04b01938657b",
"build-arg:DEBIAN_RELEASE_LINE": "trixie",
"build-arg:DEBIAN_VARIANT": "-slim",
"build-arg:DEBIAN_VERSION": "20251117",
"build-arg:JAVA_VERSION": "17.0.17_10",
"build-arg:JENKINS_VERSION": "2.541.1",
"build-arg:PLUGIN_CLI_VERSION": "2.13.2",
"build-arg:WAR_SHA": "8b12678aa6f9550b06825b006f9096186b17a7b857e9b68ad3f980d9f430fc94",
"build-arg:WAR_URL": "https://repo.jenkins-ci.org/public/org/jenkins-ci/main/jenkins-war/2.541.1/jenkins-war-2.541.1.war",
"local-sessionid:context": "wqaazkjzshbuggieohabz6b0l",
"local-sessionid:dockerfile": "wqaazkjzshbuggieohabz6b0l"
},
"locals": [
{
"name": "context"
},
{
"name": "dockerfile"
}
]
},
"environment": {
"platform": "linux/amd64"
}
}
},
"buildx.build.ref": "optimistic_carson/optimistic_carson0/invzugo3q2wylbqvl7hbt1yij",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:a5c2c0ed5b043ca995c6ff2a1428751ff1f27e69f52a27597408a12606119c93",
"size": 856
},
"containerimage.digest": "sha256:a5c2c0ed5b043ca995c6ff2a1428751ff1f27e69f52a27597408a12606119c93",
"image.name": "docker.io/jenkins/jenkins:2.541.1-slim-jdk17,docker.io/jenkins/jenkins:lts-slim-jdk17"
},
"debian-slim_jdk21": {
"buildx.build.ref": "optimistic_carson/optimistic_carson0/x1kvn4612mzidkwacsjyn1svy",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:d073643e97b3186d3d7e55e9a8eef2919df198b9465315a2cdfb34c504f1f5a0",
"size": 1609
},
"containerimage.digest": "sha256:d073643e97b3186d3d7e55e9a8eef2919df198b9465315a2cdfb34c504f1f5a0",
"image.name": "docker.io/jenkins/jenkins:2.541.1-slim-jdk21,docker.io/jenkins/jenkins:lts-slim-jdk21,docker.io/jenkins/jenkins:2.541.1-slim,docker.io/jenkins/jenkins:lts-slim,docker.io/jenkins/jenkins:2.541.1-lts-slim"
},
"debian-slim_jdk25": {
"buildx.build.ref": "optimistic_carson/optimistic_carson0/9246snnj4l9ihocw00ud7icxb",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:2493b7dffe165a14ea9fc5bfd23f5fba49fae1caf7cd1764aa8cd8090818ae2a",
"size": 1609
},
"containerimage.digest": "sha256:2493b7dffe165a14ea9fc5bfd23f5fba49fae1caf7cd1764aa8cd8090818ae2a",
"image.name": "docker.io/jenkins/jenkins:2.541.1-slim-jdk25,docker.io/jenkins/jenkins:lts-slim-jdk25"
},
"debian_jdk17": {
"buildx.build.ref": "optimistic_carson/optimistic_carson0/r7czbdat9zalu5bod97jclqnl",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:60b80d3602d6789f0be67fa9ebc435413ca49e76aced52ff7d27f8f1c935ccf9",
"size": 3117
},
"containerimage.digest": "sha256:60b80d3602d6789f0be67fa9ebc435413ca49e76aced52ff7d27f8f1c935ccf9",
"image.name": "docker.io/jenkins/jenkins:2.541.1-jdk17,docker.io/jenkins/jenkins:lts-jdk17,docker.io/jenkins/jenkins:2.541.1-lts-jdk17"
},
"debian_jdk21": {
"buildx.build.ref": "optimistic_carson/optimistic_carson0/nyt2bdouh0vovnsd18ggp0qv1",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:d1ea795c6facd7f549a21c40e5e43ffcc5fbc5f48683d9b24750f26e8079d772",
"size": 3117
},
"containerimage.digest": "sha256:d1ea795c6facd7f549a21c40e5e43ffcc5fbc5f48683d9b24750f26e8079d772",
"image.name": "docker.io/jenkins/jenkins:2.541.1-jdk21,docker.io/jenkins/jenkins:lts-jdk21,docker.io/jenkins/jenkins:2.541.1-lts-jdk21,docker.io/jenkins/jenkins:2.541.1,docker.io/jenkins/jenkins:lts,docker.io/jenkins/jenkins:2.541.1-lts"
},
"debian_jdk25": {
"buildx.build.ref": "optimistic_carson/optimistic_carson0/qu6502ybfdn8nlx8jz91mmt3v",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:aa5405389c3334ffe97208cc2786cd25e6e152f2ad6614b4fa78d4131ad7b1ec",
"size": 3117
},
"containerimage.digest": "sha256:aa5405389c3334ffe97208cc2786cd25e6e152f2ad6614b4fa78d4131ad7b1ec",
"image.name": "docker.io/jenkins/jenkins:2.541.1-jdk25,docker.io/jenkins/jenkins:lts-jdk25,docker.io/jenkins/jenkins:2.541.1-lts-jdk25"
},
"rhel_jdk17": {
"buildx.build.ref": "optimistic_carson/optimistic_carson0/ugx8upprr2m2v6a2sn24crzzg",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:b54644adcc9b75e89ad59c98a10c23e297fee6e273b01c66fa7f78ca61939db4",
"size": 2364
},
"containerimage.digest": "sha256:b54644adcc9b75e89ad59c98a10c23e297fee6e273b01c66fa7f78ca61939db4",
"image.name": "docker.io/jenkins/jenkins:2.541.1-rhel-ubi9-jdk17,docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk17,docker.io/jenkins/jenkins:2.541.1-lts-rhel-ubi9-jdk17"
},
"rhel_jdk21": {
"buildx.build.ref": "optimistic_carson/optimistic_carson0/52u2i87kyk96aerndptsp6u1c",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:ecd1eb54304cd3c51ed8ca3885cdc126ce75592d442d6fe9c8ec0b58bdb02a36",
"size": 2364
},
"containerimage.digest": "sha256:ecd1eb54304cd3c51ed8ca3885cdc126ce75592d442d6fe9c8ec0b58bdb02a36",
"image.name": "docker.io/jenkins/jenkins:2.541.1-rhel-ubi9-jdk21,docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk21,docker.io/jenkins/jenkins:2.541.1-lts-rhel-ubi9-jdk21"
},
"rhel_jdk25": {
"buildx.build.ref": "optimistic_carson/optimistic_carson0/xfyyex60mjbvrors0gsssgidf",
"containerimage.descriptor": {
"mediaType": "application/vnd.oci.image.index.v1+json",
"digest": "sha256:cbacb6d06e84b9140ef5cab5da2e5d0c427881923dce1af4bf688e67759af733",
"size": 2364
},
"containerimage.digest": "sha256:cbacb6d06e84b9140ef5cab5da2e5d0c427881923dce1af4bf688e67759af733",
"image.name": "docker.io/jenkins/jenkins:2.541.1-rhel-ubi9-jdk25,docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk25,docker.io/jenkins/jenkins:2.541.1-lts-rhel-ubi9-jdk25"
}
}Full Changelog: 2.528.3...2.541.1