Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions .ci/publish.sh
Original file line number Diff line number Diff line change
@@ -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_NAMESPACE/CONTAINER_REPOSITORY
# Arguments:
# -n dry run, do not build or publish images
# -d debug
Expand All @@ -9,10 +9,9 @@

set -eu -o pipefail

: "${DOCKERHUB_ORGANISATION:=jenkins}"
: "${DOCKERHUB_REPO:=jenkins}"

export JENKINS_REPO="${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}"
: "${CONTAINER_REGISTRY:=docker.io}"
: "${CONTAINER_NAMESPACE:=jenkins}"
: "${CONTAINER_REPOSITORY:=jenkins}"

function sort-versions() {
if [ "$(uname)" == 'Darwin' ]; then
Expand Down Expand Up @@ -88,7 +87,9 @@ export COMMIT_SHA JENKINS_VERSION WAR_SHA LATEST_WEEKLY LATEST_LTS

cat <<EOF
Using the following settings:
* JENKINS_REPO: ${JENKINS_REPO}
* CONTAINER_REGISTRY: ${CONTAINER_REGISTRY}
* CONTAINER_NAMESPACE: ${CONTAINER_NAMESPACE}
* CONTAINER_REPOSITORY: ${CONTAINER_REPOSITORY}
* JENKINS_VERSION: ${JENKINS_VERSION}
* WAR_SHA: ${WAR_SHA}
* COMMIT_SHA: ${COMMIT_SHA}
Expand Down
8 changes: 5 additions & 3 deletions HACKING.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -155,11 +155,13 @@ Create a new dedicated target repository in your Docker Hub account, and use it

[source,bash]
--
export DOCKERHUB_ORGANISATION=batmat
export DOCKERHUB_REPO=test-jenkins
export CONTAINER_NAMESPACE=jenkins4eval
export CONTAINER_REPOSITORY=test-jenkins
# The log below will help confirm this override was taken in account:
./publish.sh
Docker repository in Use:
* JENKINS_REPO: batmat/test-jenkins
* CONTAINER_REGISTRY: docker.io
* CONTAINER_NAMESPACE: jenkins4eval
* CONTAINER_REPOSITORY: test-jenkins
...
--
4 changes: 2 additions & 2 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ stage('Build') {
// if (branchName ==~ 'master'){
// stage('Publish Experimental') {
// infra.withDockerCredentials {
// withEnv(['DOCKERHUB_ORGANISATION=jenkins4eval','DOCKERHUB_REPO=jenkins']) {
// withEnv(['CONTAINER_NAMESPACE=jenkins4eval','CONTAINER_REPOSITORY=jenkins']) {
// powershell './make.ps1 publish'
// }
// }
Expand All @@ -101,7 +101,7 @@ stage('Build') {
]) {
stage('Publish') {
infra.withDockerCredentials {
withEnv(['DOCKERHUB_ORGANISATION=jenkins', 'DOCKERHUB_REPO=jenkins']) {
withEnv(['CONTAINER_NAMESPACE=jenkins', 'CONTAINER_REPOSITORY=jenkins']) {
powershell './make.ps1 build'
powershell './make.ps1 publish'
}
Expand Down
16 changes: 8 additions & 8 deletions build-windows.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
jdk21:
image: ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}${SEPARATOR_LTS_PREFIX}jdk21-hotspot-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
image: ${CONTAINER_NAMESPACE}/${CONTAINER_REPOSITORY}${SEPARATOR_LTS_PREFIX}jdk21-hotspot-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
build:
context: ./
dockerfile: ./windows/${WINDOWS_FLAVOR}/hotspot/Dockerfile
Expand All @@ -13,11 +13,11 @@ services:
WAR_URL: ${WAR_URL}
WINDOWS_VERSION: ${WINDOWS_VERSION}
tags:
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}:${JENKINS_VERSION}-jdk21-hotspot-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}:${JENKINS_VERSION}-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}${SEPARATOR_LTS_PREFIX}${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
- ${CONTAINER_NAMESPACE}/${CONTAINER_REPOSITORY}:${JENKINS_VERSION}-jdk21-hotspot-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
- ${CONTAINER_NAMESPACE}/${CONTAINER_REPOSITORY}:${JENKINS_VERSION}-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
- ${CONTAINER_NAMESPACE}/${CONTAINER_REPOSITORY}${SEPARATOR_LTS_PREFIX}${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
jdk25:
image: ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}${SEPARATOR_LTS_PREFIX}jdk25-hotspot-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
image: ${CONTAINER_NAMESPACE}/${CONTAINER_REPOSITORY}${SEPARATOR_LTS_PREFIX}jdk25-hotspot-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
build:
context: ./
dockerfile: ./windows/${WINDOWS_FLAVOR}/hotspot/Dockerfile
Expand All @@ -30,6 +30,6 @@ services:
WAR_URL: ${WAR_URL}
WINDOWS_VERSION: ${WINDOWS_VERSION}
tags:
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}:${JENKINS_VERSION}-jdk25-hotspot-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}:${JENKINS_VERSION}-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
- ${DOCKERHUB_ORGANISATION}/${DOCKERHUB_REPO}${SEPARATOR_LTS_PREFIX}${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
- ${CONTAINER_NAMESPACE}/${CONTAINER_REPOSITORY}:${JENKINS_VERSION}-jdk25-hotspot-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
- ${CONTAINER_NAMESPACE}/${CONTAINER_REPOSITORY}:${JENKINS_VERSION}-${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
- ${CONTAINER_NAMESPACE}/${CONTAINER_REPOSITORY}${SEPARATOR_LTS_PREFIX}${WINDOWS_FLAVOR}-${WINDOWS_VERSION}
16 changes: 11 additions & 5 deletions docker-bake.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,16 @@ variable "WAR_URL" {
default = ""
}

variable "REGISTRY" {
variable "CONTAINER_REGISTRY" {
default = "docker.io"
}

variable "JENKINS_REPO" {
default = "jenkins/jenkins"
variable "CONTAINER_NAMESPACE" {
default = "jenkins"
}

variable "CONTAINER_REPOSITORY" {
default = "jenkins"
}

variable "LATEST_WEEKLY" {
Expand Down Expand Up @@ -193,13 +197,15 @@ function "jdks_to_build" {
# return a tag prefixed by the Jenkins version
function "_tag_jenkins_version" {
params = [tag]
result = notequal(tag, "") ? "${REGISTRY}/${JENKINS_REPO}:${JENKINS_VERSION}-${tag}" : "${REGISTRY}/${JENKINS_REPO}:${JENKINS_VERSION}"
result = (notequal(tag, "")
? "${CONTAINER_REGISTRY}/${CONTAINER_NAMESPACE}/${CONTAINER_REPOSITORY}:${JENKINS_VERSION}-${tag}"
: "${CONTAINER_REGISTRY}/${CONTAINER_NAMESPACE}/${CONTAINER_REPOSITORY}:${JENKINS_VERSION}")
}

# return a tag optionaly prefixed by the Jenkins version
function "tag" {
params = [prepend_jenkins_version, tag]
result = equal(prepend_jenkins_version, true) ? _tag_jenkins_version(tag) : "${REGISTRY}/${JENKINS_REPO}:${tag}"
result = equal(prepend_jenkins_version, true) ? _tag_jenkins_version(tag) : "${CONTAINER_REGISTRY}/${CONTAINER_NAMESPACE}/${CONTAINER_REPOSITORY}:${tag}"
}

# return a weekly optionaly prefixed by the Jenkins version
Expand Down
12 changes: 6 additions & 6 deletions make.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ $Repository = 'jenkins'
$Organisation = 'jenkins4eval'
$ImageType = 'windowsservercore-ltsc2022' # <WINDOWS_FLAVOR>-<WINDOWS_VERSION>

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_NAMESPACE)) {
$Organisation = $env:CONTAINER_NAMESPACE
}

if(![String]::IsNullOrWhiteSpace($env:JENKINS_VERSION)) {
Expand All @@ -29,8 +29,8 @@ if(![String]::IsNullOrWhiteSpace($env:IMAGE_TYPE)) {
$ImageType = $env:IMAGE_TYPE
}

$env:DOCKERHUB_ORGANISATION = "$Organisation"
$env:DOCKERHUB_REPO = "$Repository"
$env:CONTAINER_NAMESPACE = "$Organisation"
$env:CONTAINER_REPOSITORY = "$Repository"
$env:JENKINS_VERSION = "$JenkinsVersion"

# Add 'lts-' prefix to LTS tags not including Jenkins version
Expand Down
2 changes: 1 addition & 1 deletion tests/test_helpers.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -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_NAMESPACE, $env:CONTAINER_REPOSITORY, $env:CONTROLLER_IMAGE, $tag))
}

function Build-DockerChild($tag, $dir) {
Expand Down