From a05644d2da5fcfc1b1b0342e357e4f5767c24661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Sun, 11 Jan 2026 15:14:53 +0100 Subject: [PATCH 1/3] chore: don't use `JENKINS_REPO` and rename `DOCKERHUB_REPO` to `DOCKERHUB_REPOSITORY` This change removes the use of `JENKINS_REPO` during publication in profit of `DOCKERHUB_ORGANISATION/DOCKERHUB_REPOSITORY` so we can publish on other registries as well. For that, it renames `DOCKERHUB_REPO` to `DOCKERHUB_REPOSITORY` and `REGISTRY` to `DOCKERHUB_REGISTRY` (more explicit), and replace the use of `JENKINS_REPO` with `DOCKERHUB_ORGANISATION/DOCKERHUB_REPOSITORY` in docker bake file, ./ci/publish.sh publication script, and HACKING.md documentation. Testing done: ``` $ docker login $ export DOCKERHUB_ORGANISATION=hlemeur $ JENKINS_VERSION=2.528.3 ./ci/publish.sh -d -n $ JENKINS_VERSION=2.528.3 ./ci/publish.sh $ docker inspect hlemeur/jenkins:2.528.3-lts [ { "Id": "sha256:1825aafdea6e58204b7eb323774c8c4e574318e0d18fb7bf27e0529abcb1b1ef", "RepoTags": [ "hlemeur/jenkins:2.528.3", "hlemeur/jenkins:2.528.3-jdk21", "hlemeur/jenkins:2.528.3-lts", "hlemeur/jenkins:2.528.3-lts-jdk21", "hlemeur/jenkins:lts", "hlemeur/jenkins:lts-jdk21" ], "RepoDigests": [ "hlemeur/jenkins@sha256:1825aafdea6e58204b7eb323774c8c4e574318e0d18fb7bf27e0529abcb1b1ef" ], "Comment": "buildkit.dockerfile.v0", "Created": "2026-01-11T13:48:33.84995609Z", "Config": { "User": "jenkins", "ExposedPorts": { "50000/tcp": {}, "8080/tcp": {} }, "Env": [ "PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "LANG=C.UTF-8", "JENKINS_HOME=/var/jenkins_home", "JENKINS_SLAVE_AGENT_PORT=50000", "REF=/usr/share/jenkins/ref", "JENKINS_VERSION=2.528.3", "JENKINS_UC=https://updates.jenkins.io", "JENKINS_UC_EXPERIMENTAL=https://updates.jenkins.io/experimental", "JENKINS_INCREMENTALS_REPO_MIRROR=https://repo.jenkins-ci.org/incrementals", "COPY_REFERENCE_FILE_LOG=/var/jenkins_home/copy_reference_file.log", "JAVA_HOME=/opt/java/openjdk" ], "Entrypoint": [ "/usr/bin/tini", "--", "/usr/local/bin/jenkins.sh" ], "Volumes": { "/var/jenkins_home": {} }, "Labels": { "org.opencontainers.image.description": "The Jenkins Continuous Integration and Delivery server", "org.opencontainers.image.licenses": "MIT", "org.opencontainers.image.revision": "a0ab3fa020046a99ad7d9a49104cbaac4685e3b0", "org.opencontainers.image.source": "https://github.com/jenkinsci/docker", "org.opencontainers.image.title": "Official Jenkins Docker image", "org.opencontainers.image.url": "https://www.jenkins.io/", "org.opencontainers.image.vendor": "Jenkins project", "org.opencontainers.image.version": "2.528.3" } }, "Architecture": "arm64", "Os": "linux", "Size": 288690242, "RootFS": { "Type": "layers", "Layers": [ "sha256:4f9114eeb1e46da35d3a29b063ddfa69a0447888dd07117de77ddd565c54fb27", "sha256:4dccb090d7492f51e5752c94b2a4311cd1351cef18f05b5737f7138991e64906", "sha256:c2ff46607cfe9995b9e5310982ea95756ac9635f90b05db4c55415ef18dbeaf4", "sha256:38680db6fceda2720f91d241e9ffc1fe18bb5e80971d314de774ae8e05665e42", "sha256:cb337ba5f4bc7a25e13ee6f0e941f3c9ee55eae776e99c1105487c71c9f47748", "sha256:ec3cc3a9bb43919215cf5d39c940080aeaf993bb1a8e47a5ad28eff09eef3024", "sha256:b4d00230176fd3b195b4ac37dea53b8a3390decaa1238116d1c892f6320217de", "sha256:9dfb4b1bfc5bb8338db02c7d439500644c444502e27826aa3dd1bb578f758aa6", "sha256:5b5eb2fcc1a23df2a5a600d55f163ee5eea9fa2462385c7f8a6edc423add02c2", "sha256:9d6ca408160484d633fe9dede9a03e17f740a06a258db903a55520b122f4e679", "sha256:9a285ad710f7519f7868afd7bca59b59ba22e36627f9cfddebf61f343736d8c3", "sha256:3f83631eada5c1a69cb61ac5c9b3eef62f0bc9f61ddb39eec6e604fcb001d2ee" ] }, "Metadata": { "LastTagTime": "2026-01-11T14:07:33.264826923Z" }, "Descriptor": { "mediaType": "application/vnd.oci.image.index.v1+json", "digest": "sha256:1825aafdea6e58204b7eb323774c8c4e574318e0d18fb7bf27e0529abcb1b1ef", "size": 3117 } } ] ``` --- .ci/publish.sh | 13 +++++++------ HACKING.adoc | 8 +++++--- Jenkinsfile | 4 ++-- build-windows.yaml | 16 ++++++++-------- docker-bake.hcl | 16 +++++++++++----- make.ps1 | 12 ++++++------ tests/test_helpers.psm1 | 2 +- 7 files changed, 40 insertions(+), 31 deletions(-) diff --git a/.ci/publish.sh b/.ci/publish.sh index e830fd3f97..c0e45b46db 100755 --- a/.ci/publish.sh +++ b/.ci/publish.sh @@ -1,6 +1,6 @@ #!/bin/bash -eu -# Publish any versions of the docker image not yet pushed to ${JENKINS_REPO} +# Publish any versions of the docker image not yet pushed to CONTAINER_ORGANISATION/CONTAINER_REPOSITORY # Arguments: # -n dry run, do not build or publish images # -d debug @@ -9,10 +9,9 @@ set -eu -o pipefail -: "${DOCKERHUB_ORGANISATION:=jenkins}" -: "${DOCKERHUB_REPO:=jenkins}" - -export JENKINS_REPO="${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}" +: "${DOCKERHUB_REGISTRY:=docker.io}" +: "${CONTAINER_ORGANISATION:=jenkins}" +: "${CONTAINER_REPOSITORY:=jenkins}" function sort-versions() { if [ "$(uname)" == 'Darwin' ]; then @@ -88,7 +87,9 @@ export COMMIT_SHA JENKINS_VERSION WAR_SHA LATEST_WEEKLY LATEST_LTS cat <- -if(![String]::IsNullOrWhiteSpace($env:DOCKERHUB_REPO)) { - $Repository = $env:DOCKERHUB_REPO +if(![String]::IsNullOrWhiteSpace($env:CONTAINER_REPOSITORY)) { + $Repository = $env:CONTAINER_REPOSITORY } -if(![String]::IsNullOrWhiteSpace($env:DOCKERHUB_ORGANISATION)) { - $Organisation = $env:DOCKERHUB_ORGANISATION +if(![String]::IsNullOrWhiteSpace($env:CONTAINER_ORGANISATION)) { + $Organisation = $env:CONTAINER_ORGANISATION } if(![String]::IsNullOrWhiteSpace($env:JENKINS_VERSION)) { @@ -29,8 +29,8 @@ if(![String]::IsNullOrWhiteSpace($env:IMAGE_TYPE)) { $ImageType = $env:IMAGE_TYPE } -$env:DOCKERHUB_ORGANISATION = "$Organisation" -$env:DOCKERHUB_REPO = "$Repository" +$env:CONTAINER_ORGANISATION = "$Organisation" +$env:CONTAINER_REPOSITORY = "$Repository" $env:JENKINS_VERSION = "$JenkinsVersion" # Add 'lts-' prefix to LTS tags not including Jenkins version diff --git a/tests/test_helpers.psm1 b/tests/test_helpers.psm1 index 9e89f1fb7b..697b6c9bf2 100644 --- a/tests/test_helpers.psm1 +++ b/tests/test_helpers.psm1 @@ -109,7 +109,7 @@ function Build-Docker($tag) { if($exitCode -ne 0) { return $exitCode, $stdout, $stderr } - return(Run-Program 'docker' $('tag {0}/{1}:{2} {3}' -f $env:DOCKERHUB_ORGANISATION, $env:DOCKERHUB_REPO, $env:CONTROLLER_IMAGE, $tag)) + return(Run-Program 'docker' $('tag {0}/{1}:{2} {3}' -f $env:CONTAINER_ORGANISATION, $env:CONTAINER_REPOSITORY, $env:CONTROLLER_IMAGE, $tag)) } function Build-DockerChild($tag, $dir) { From 49ad6b17f9d4270eb6b5baa49b95003d93c87dd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Mon, 12 Jan 2026 21:21:40 +0100 Subject: [PATCH 2/3] s/CONTAINER_ORGANISATION/CONTAINER_NAMESPACE --- .ci/publish.sh | 6 +++--- HACKING.adoc | 4 ++-- Jenkinsfile | 4 ++-- build-windows.yaml | 16 ++++++++-------- docker-bake.hcl | 8 ++++---- make.ps1 | 6 +++--- tests/test_helpers.psm1 | 2 +- 7 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.ci/publish.sh b/.ci/publish.sh index c0e45b46db..e21155d442 100755 --- a/.ci/publish.sh +++ b/.ci/publish.sh @@ -1,6 +1,6 @@ #!/bin/bash -eu -# Publish any versions of the docker image not yet pushed to CONTAINER_ORGANISATION/CONTAINER_REPOSITORY +# Publish any versions of the docker image not yet pushed to CONTAINER_NAMESPACE/CONTAINER_REPOSITORY # Arguments: # -n dry run, do not build or publish images # -d debug @@ -10,7 +10,7 @@ set -eu -o pipefail : "${DOCKERHUB_REGISTRY:=docker.io}" -: "${CONTAINER_ORGANISATION:=jenkins}" +: "${CONTAINER_NAMESPACE:=jenkins}" : "${CONTAINER_REPOSITORY:=jenkins}" function sort-versions() { @@ -88,7 +88,7 @@ export COMMIT_SHA JENKINS_VERSION WAR_SHA LATEST_WEEKLY LATEST_LTS cat < Date: Mon, 12 Jan 2026 21:23:09 +0100 Subject: [PATCH 3/3] s/DOCKERHUB_REGISTRY/CONTAINER_REGISTRY --- .ci/publish.sh | 4 ++-- HACKING.adoc | 2 +- docker-bake.hcl | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.ci/publish.sh b/.ci/publish.sh index e21155d442..c13fd79c98 100755 --- a/.ci/publish.sh +++ b/.ci/publish.sh @@ -9,7 +9,7 @@ set -eu -o pipefail -: "${DOCKERHUB_REGISTRY:=docker.io}" +: "${CONTAINER_REGISTRY:=docker.io}" : "${CONTAINER_NAMESPACE:=jenkins}" : "${CONTAINER_REPOSITORY:=jenkins}" @@ -87,7 +87,7 @@ export COMMIT_SHA JENKINS_VERSION WAR_SHA LATEST_WEEKLY LATEST_LTS cat <