From 11227f4383e56888260b308916c20a5ca3360d71 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 14:30:32 -0700 Subject: [PATCH 01/23] multi arch support --- pom.xml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ad84db1b..bfd2696e 100644 --- a/pom.xml +++ b/pom.xml @@ -415,6 +415,12 @@ true true + + + linux/amd64 + linux/arm64 + + arpnetworking/mad/kafka:${docker.image.tag} @@ -428,7 +434,12 @@ docker.arpnetworking.com/arpnetworking/mad/kafka:cache-base - + + + linux/amd64 + linux/arm64 + + @@ -459,6 +470,12 @@ docker.arpnetworking.com/arpnetworking/mad:cache-base + + + linux/amd64 + linux/arm64 + + From a70fb9a7f783bdb901d4c436adac7eda4a57f9bf Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 14:35:49 -0700 Subject: [PATCH 02/23] use default builder --- pom.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pom.xml b/pom.xml index bfd2696e..441d8df7 100644 --- a/pom.xml +++ b/pom.xml @@ -416,6 +416,7 @@ true true + default linux/amd64 linux/arm64 @@ -435,6 +436,7 @@ docker.arpnetworking.com/arpnetworking/mad/kafka:cache-base + default linux/amd64 linux/arm64 @@ -471,6 +473,7 @@ docker.arpnetworking.com/arpnetworking/mad:cache-base + default linux/amd64 linux/arm64 From 410bba7dd8a628e8f42fb0c3bf91789b4a9ac81c Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 14:44:10 -0700 Subject: [PATCH 03/23] create a context this time --- Jenkinsfile | 1 + pom.xml | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index cc5e1045..5bc9b4c4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -44,6 +44,7 @@ pipeline { withCredentials([usernamePassword(credentialsId: 'jenkins-dockerhub', usernameVariable: 'DOCKER_USERNAME', passwordVariable: 'DOCKER_PASSWORD'), usernamePassword(credentialsId: 'jenkins-central', usernameVariable: 'CENTRAL_USER', passwordVariable: 'CENTRAL_PASS'), string(credentialsId: 'jenkins-gpg', variable: 'GPG_PASS')]) { + sh 'docker buildx create --name multiarch --use dind-context || docker buildx use multiarch' withMaven { sh "./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true" } diff --git a/pom.xml b/pom.xml index 441d8df7..72d23205 100644 --- a/pom.xml +++ b/pom.xml @@ -416,7 +416,7 @@ true true - default + multiarch linux/amd64 linux/arm64 @@ -436,7 +436,7 @@ docker.arpnetworking.com/arpnetworking/mad/kafka:cache-base - default + multiarch linux/amd64 linux/arm64 @@ -473,7 +473,7 @@ docker.arpnetworking.com/arpnetworking/mad:cache-base - default + multiarch linux/amd64 linux/arm64 From e5bffd683d3cf125e2eb05c24fc0e3057f8058b2 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 14:50:09 -0700 Subject: [PATCH 04/23] try unsetting env vars --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index 5bc9b4c4..1ef90376 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,6 +45,7 @@ pipeline { usernamePassword(credentialsId: 'jenkins-central', usernameVariable: 'CENTRAL_USER', passwordVariable: 'CENTRAL_PASS'), string(credentialsId: 'jenkins-gpg', variable: 'GPG_PASS')]) { sh 'docker buildx create --name multiarch --use dind-context || docker buildx use multiarch' + sh 'unset DOCKER_HOST DOCKER_TLS_VERIFY DOCKER_CERT_PATH' withMaven { sh "./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true" } From 63050fcd838e30d29eec1406ee7340b9e30bcaee Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 14:55:26 -0700 Subject: [PATCH 05/23] trying with env --- Jenkinsfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1ef90376..322f3263 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,9 +45,10 @@ pipeline { usernamePassword(credentialsId: 'jenkins-central', usernameVariable: 'CENTRAL_USER', passwordVariable: 'CENTRAL_PASS'), string(credentialsId: 'jenkins-gpg', variable: 'GPG_PASS')]) { sh 'docker buildx create --name multiarch --use dind-context || docker buildx use multiarch' - sh 'unset DOCKER_HOST DOCKER_TLS_VERIFY DOCKER_CERT_PATH' - withMaven { - sh "./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true" + withEnv(['DOCKER_HOST=', 'DOCKER_TLS_VERIFY=', 'DOCKER_CERT_PATH=']) { + withMaven { + sh "./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true" + } } } } From bd9ea607a672e033f2d7fca170b34b45b5099799 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 15:04:40 -0700 Subject: [PATCH 06/23] try not creating a builder? --- pom.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pom.xml b/pom.xml index 72d23205..4ff81529 100644 --- a/pom.xml +++ b/pom.xml @@ -417,6 +417,7 @@ true multiarch + false linux/amd64 linux/arm64 @@ -437,6 +438,7 @@ multiarch + false linux/amd64 linux/arm64 @@ -474,6 +476,7 @@ multiarch + false linux/amd64 linux/arm64 From 7a26417301a8b7d79c428672eea5e2b19288e426 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 15:15:27 -0700 Subject: [PATCH 07/23] debug output for docker env vars --- Jenkinsfile | 7 +++++++ pom.xml | 3 --- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 322f3263..9bf3291b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,7 +45,14 @@ pipeline { usernamePassword(credentialsId: 'jenkins-central', usernameVariable: 'CENTRAL_USER', passwordVariable: 'CENTRAL_PASS'), string(credentialsId: 'jenkins-gpg', variable: 'GPG_PASS')]) { sh 'docker buildx create --name multiarch --use dind-context || docker buildx use multiarch' + sh 'echo "DOCKER_HOST=$DOCKER_HOST"' + sh 'echo "DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY"' + sh 'echo "DOCKER_CERT_PATH=$DOCKER_CERT_PATH"' + sh 'echo "DOCKER_CONTEXT=$DOCKER_CONTEXT"' withEnv(['DOCKER_HOST=', 'DOCKER_TLS_VERIFY=', 'DOCKER_CERT_PATH=']) { + sh 'echo "After withEnv - DOCKER_HOST=$DOCKER_HOST"' + sh 'echo "After withEnv - DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY"' + sh 'echo "After withEnv - DOCKER_CERT_PATH=$DOCKER_CERT_PATH"' withMaven { sh "./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true" } diff --git a/pom.xml b/pom.xml index 4ff81529..72d23205 100644 --- a/pom.xml +++ b/pom.xml @@ -417,7 +417,6 @@ true multiarch - false linux/amd64 linux/arm64 @@ -438,7 +437,6 @@ multiarch - false linux/amd64 linux/arm64 @@ -476,7 +474,6 @@ multiarch - false linux/amd64 linux/arm64 From 6ace503e35bb1718eb5e8650711612d0d22eabc3 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 15:24:35 -0700 Subject: [PATCH 08/23] trying again to clear vars --- Jenkinsfile | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9bf3291b..f32fa148 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,17 +45,14 @@ pipeline { usernamePassword(credentialsId: 'jenkins-central', usernameVariable: 'CENTRAL_USER', passwordVariable: 'CENTRAL_PASS'), string(credentialsId: 'jenkins-gpg', variable: 'GPG_PASS')]) { sh 'docker buildx create --name multiarch --use dind-context || docker buildx use multiarch' - sh 'echo "DOCKER_HOST=$DOCKER_HOST"' - sh 'echo "DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY"' - sh 'echo "DOCKER_CERT_PATH=$DOCKER_CERT_PATH"' - sh 'echo "DOCKER_CONTEXT=$DOCKER_CONTEXT"' - withEnv(['DOCKER_HOST=', 'DOCKER_TLS_VERIFY=', 'DOCKER_CERT_PATH=']) { - sh 'echo "After withEnv - DOCKER_HOST=$DOCKER_HOST"' - sh 'echo "After withEnv - DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY"' - sh 'echo "After withEnv - DOCKER_CERT_PATH=$DOCKER_CERT_PATH"' - withMaven { - sh "./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true" - } + withMaven { + sh """ + unset DOCKER_HOST DOCKER_TLS_VERIFY DOCKER_CERT_PATH + echo "Cleared DOCKER_HOST=\$DOCKER_HOST" + echo "Cleared DOCKER_TLS_VERIFY=\$DOCKER_TLS_VERIFY" + echo "Cleared DOCKER_CERT_PATH=\$DOCKER_CERT_PATH" + ./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true + """ } } } From fb0a08f32e2fece74b18eee59f732b1fb787dab8 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 15:36:20 -0700 Subject: [PATCH 09/23] trying again --- Jenkinsfile | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index f32fa148..2944195e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -44,15 +44,12 @@ pipeline { withCredentials([usernamePassword(credentialsId: 'jenkins-dockerhub', usernameVariable: 'DOCKER_USERNAME', passwordVariable: 'DOCKER_PASSWORD'), usernamePassword(credentialsId: 'jenkins-central', usernameVariable: 'CENTRAL_USER', passwordVariable: 'CENTRAL_PASS'), string(credentialsId: 'jenkins-gpg', variable: 'GPG_PASS')]) { - sh 'docker buildx create --name multiarch --use dind-context || docker buildx use multiarch' + sh ''' + # Create buildx context using current Docker environment + docker buildx create --name multiarch --driver docker-container --use || docker buildx use multiarch + ''' withMaven { - sh """ - unset DOCKER_HOST DOCKER_TLS_VERIFY DOCKER_CERT_PATH - echo "Cleared DOCKER_HOST=\$DOCKER_HOST" - echo "Cleared DOCKER_TLS_VERIFY=\$DOCKER_TLS_VERIFY" - echo "Cleared DOCKER_CERT_PATH=\$DOCKER_CERT_PATH" - ./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true - """ + sh "./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true" } } } From a5faed1e346d286af80df388c7edc312c1800405 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 15:45:30 -0700 Subject: [PATCH 10/23] try again --- Jenkinsfile | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 2944195e..b9e7a20d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,11 +45,17 @@ pipeline { usernamePassword(credentialsId: 'jenkins-central', usernameVariable: 'CENTRAL_USER', passwordVariable: 'CENTRAL_PASS'), string(credentialsId: 'jenkins-gpg', variable: 'GPG_PASS')]) { sh ''' - # Create buildx context using current Docker environment - docker buildx create --name multiarch --driver docker-container --use || docker buildx use multiarch + # First create a Docker context with current environment settings + docker context create multiarch-context --docker "host=$DOCKER_HOST,ca=/certs/client/ca.pem,cert=/certs/client/cert.pem,key=/certs/client/key.pem" || echo "Context may already exist" + # Create buildx builder using the custom context + docker buildx create --name multiarch --driver docker-container --use multiarch-context || docker buildx use multiarch ''' withMaven { - sh "./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true" + sh """ + unset DOCKER_TLS_VERIFY DOCKER_CERT_PATH + echo "Cleared TLS env vars, keeping DOCKER_HOST=\$DOCKER_HOST" + ./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true + """ } } } From f3928b9fe7a944894a7fbaa2ae7449e9b9a30912 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 15:51:06 -0700 Subject: [PATCH 11/23] try again --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b9e7a20d..be0f8786 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -52,8 +52,8 @@ pipeline { ''' withMaven { sh """ - unset DOCKER_TLS_VERIFY DOCKER_CERT_PATH - echo "Cleared TLS env vars, keeping DOCKER_HOST=\$DOCKER_HOST" + export DOCKER_TLS_VERIFY=1 + echo "Using existing DOCKER_HOST=\$DOCKER_HOST with TLS, DOCKER_CERT_PATH=\$DOCKER_CERT_PATH" ./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true """ } From 1a9580f43ae4ba62db2c2ac609e3706355dedfea Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 15:55:59 -0700 Subject: [PATCH 12/23] try again --- Jenkinsfile | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index be0f8786..752a4da2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,10 +45,22 @@ pipeline { usernamePassword(credentialsId: 'jenkins-central', usernameVariable: 'CENTRAL_USER', passwordVariable: 'CENTRAL_PASS'), string(credentialsId: 'jenkins-gpg', variable: 'GPG_PASS')]) { sh ''' - # First create a Docker context with current environment settings + echo "=== Docker Environment Debug ===" + echo "DOCKER_HOST=$DOCKER_HOST" + echo "DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY" + echo "DOCKER_CERT_PATH=$DOCKER_CERT_PATH" + + echo "=== Creating Docker Context ===" docker context create multiarch-context --docker "host=$DOCKER_HOST,ca=/certs/client/ca.pem,cert=/certs/client/cert.pem,key=/certs/client/key.pem" || echo "Context may already exist" - # Create buildx builder using the custom context + + echo "=== Listing Docker Contexts ===" + docker context ls + + echo "=== Creating Buildx Builder ===" docker buildx create --name multiarch --driver docker-container --use multiarch-context || docker buildx use multiarch + + echo "=== Listing Buildx Builders ===" + docker buildx ls ''' withMaven { sh """ From 8c7deb204dba6305b237445406e1279a0dffe9fc Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 15:58:27 -0700 Subject: [PATCH 13/23] try again --- Jenkinsfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 752a4da2..96ad7a94 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -59,6 +59,10 @@ pipeline { echo "=== Creating Buildx Builder ===" docker buildx create --name multiarch --driver docker-container --use multiarch-context || docker buildx use multiarch + echo "=== Activating Builder ===" + docker buildx use multiarch + docker buildx inspect --bootstrap + echo "=== Listing Buildx Builders ===" docker buildx ls ''' From 552fee4f8daa7e50115d3808e00717e6aed2a42f Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 16:04:30 -0700 Subject: [PATCH 14/23] try some more --- Jenkinsfile | 2 +- pom.xml | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 96ad7a94..005e2e37 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -57,7 +57,7 @@ pipeline { docker context ls echo "=== Creating Buildx Builder ===" - docker buildx create --name multiarch --driver docker-container --use multiarch-context || docker buildx use multiarch + docker buildx create --name multiarch --driver docker-container --platform linux/amd64,linux/arm64 --use multiarch-context || docker buildx use multiarch echo "=== Activating Builder ===" docker buildx use multiarch diff --git a/pom.xml b/pom.xml index 72d23205..44b779ab 100644 --- a/pom.xml +++ b/pom.xml @@ -415,13 +415,6 @@ true true - - multiarch - - linux/amd64 - linux/arm64 - - arpnetworking/mad/kafka:${docker.image.tag} From bd63977acf9e6d0dabe396a2da1b32712d79e1ac Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 16:12:26 -0700 Subject: [PATCH 15/23] try some more --- pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pom.xml b/pom.xml index 44b779ab..3b9cdda9 100644 --- a/pom.xml +++ b/pom.xml @@ -430,6 +430,7 @@ multiarch + multiarch-context linux/amd64 linux/arm64 @@ -467,6 +468,7 @@ multiarch + multiarch-context linux/amd64 linux/arm64 From f62ee543032630b86854399859fd3e3b0ed6c0b2 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 16:18:35 -0700 Subject: [PATCH 16/23] try some more --- Jenkinsfile | 10 ++++++++-- pom.xml | 2 -- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 005e2e37..54dfc7ab 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -57,7 +57,7 @@ pipeline { docker context ls echo "=== Creating Buildx Builder ===" - docker buildx create --name multiarch --driver docker-container --platform linux/amd64,linux/arm64 --use multiarch-context || docker buildx use multiarch + docker buildx create --name multiarch --driver docker --platform linux/amd64,linux/arm64 --use multiarch-context || docker buildx use multiarch echo "=== Activating Builder ===" docker buildx use multiarch @@ -69,7 +69,13 @@ pipeline { withMaven { sh """ export DOCKER_TLS_VERIFY=1 - echo "Using existing DOCKER_HOST=\$DOCKER_HOST with TLS, DOCKER_CERT_PATH=\$DOCKER_CERT_PATH" + echo "=== Maven Environment Debug ===" + echo "DOCKER_HOST=\$DOCKER_HOST" + echo "DOCKER_TLS_VERIFY=\$DOCKER_TLS_VERIFY" + echo "DOCKER_CERT_PATH=\$DOCKER_CERT_PATH" + echo "HOME=\$HOME" + echo "=== Buildx Status for Maven ===" + docker buildx ls ./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true """ } diff --git a/pom.xml b/pom.xml index 3b9cdda9..44b779ab 100644 --- a/pom.xml +++ b/pom.xml @@ -430,7 +430,6 @@ multiarch - multiarch-context linux/amd64 linux/arm64 @@ -468,7 +467,6 @@ multiarch - multiarch-context linux/amd64 linux/arm64 From 5f68d81dbb88af90e681f9576834306fcba096b5 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 16:20:57 -0700 Subject: [PATCH 17/23] try some more --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 54dfc7ab..388b54e5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -57,7 +57,7 @@ pipeline { docker context ls echo "=== Creating Buildx Builder ===" - docker buildx create --name multiarch --driver docker --platform linux/amd64,linux/arm64 --use multiarch-context || docker buildx use multiarch + docker buildx create --name multiarch --driver docker-container --platform linux/amd64,linux/arm64 --use multiarch-context || docker buildx use multiarch echo "=== Activating Builder ===" docker buildx use multiarch @@ -69,6 +69,7 @@ pipeline { withMaven { sh """ export DOCKER_TLS_VERIFY=1 + export DOCKER_CERT_PATH=/certs/client echo "=== Maven Environment Debug ===" echo "DOCKER_HOST=\$DOCKER_HOST" echo "DOCKER_TLS_VERIFY=\$DOCKER_TLS_VERIFY" From 9b55f2889d8a58857c5dedad0c8e54152e0aa133 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 16:32:13 -0700 Subject: [PATCH 18/23] try some more --- Jenkinsfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 388b54e5..8ebe97e3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -70,13 +70,17 @@ pipeline { sh """ export DOCKER_TLS_VERIFY=1 export DOCKER_CERT_PATH=/certs/client + export DOCKER_CONFIG=\$HOME/.docker echo "=== Maven Environment Debug ===" echo "DOCKER_HOST=\$DOCKER_HOST" echo "DOCKER_TLS_VERIFY=\$DOCKER_TLS_VERIFY" echo "DOCKER_CERT_PATH=\$DOCKER_CERT_PATH" + echo "DOCKER_CONFIG=\$DOCKER_CONFIG" echo "HOME=\$HOME" echo "=== Buildx Status for Maven ===" docker buildx ls + echo "=== Checking builder files ===" + ls -la \$HOME/.docker/buildx/instances/ || echo "No buildx instances directory" ./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true """ } From ca75b5b55ab99038635bdf6234bd5ecef671f872 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 16:43:12 -0700 Subject: [PATCH 19/23] try setting the ConfigFile --- pom.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pom.xml b/pom.xml index 44b779ab..04b1734b 100644 --- a/pom.xml +++ b/pom.xml @@ -415,6 +415,9 @@ true true + + ${user.home}/.docker + arpnetworking/mad/kafka:${docker.image.tag} From f17c6d18b0245d25f510149e31dbe27988ebb4dc Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 16:53:21 -0700 Subject: [PATCH 20/23] try again --- pom.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 04b1734b..4edcbf2d 100644 --- a/pom.xml +++ b/pom.xml @@ -415,9 +415,6 @@ true true - - ${user.home}/.docker - arpnetworking/mad/kafka:${docker.image.tag} @@ -432,6 +429,7 @@ docker.arpnetworking.com/arpnetworking/mad/kafka:cache-base + ${user.home}/.docker multiarch linux/amd64 @@ -469,6 +467,7 @@ docker.arpnetworking.com/arpnetworking/mad:cache-base + ${user.home}/.docker multiarch linux/amd64 From fecc997d772186b640b5644c3ac80b6eec93ee71 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 17:00:50 -0700 Subject: [PATCH 21/23] set state dir --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 4edcbf2d..c43b281d 100644 --- a/pom.xml +++ b/pom.xml @@ -429,7 +429,7 @@ docker.arpnetworking.com/arpnetworking/mad/kafka:cache-base - ${user.home}/.docker + ${user.home}/.docker multiarch linux/amd64 @@ -467,7 +467,7 @@ docker.arpnetworking.com/arpnetworking/mad:cache-base - ${user.home}/.docker + ${user.home}/.docker multiarch linux/amd64 From fe06ef4e01ddc955a937a35d94e066f1efaad74d Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 20:00:25 -0700 Subject: [PATCH 22/23] cleaned up. still working? --- Jenkinsfile | 40 ++-------------------------------------- 1 file changed, 2 insertions(+), 38 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8ebe97e3..8a91556c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -44,45 +44,9 @@ pipeline { withCredentials([usernamePassword(credentialsId: 'jenkins-dockerhub', usernameVariable: 'DOCKER_USERNAME', passwordVariable: 'DOCKER_PASSWORD'), usernamePassword(credentialsId: 'jenkins-central', usernameVariable: 'CENTRAL_USER', passwordVariable: 'CENTRAL_PASS'), string(credentialsId: 'jenkins-gpg', variable: 'GPG_PASS')]) { - sh ''' - echo "=== Docker Environment Debug ===" - echo "DOCKER_HOST=$DOCKER_HOST" - echo "DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY" - echo "DOCKER_CERT_PATH=$DOCKER_CERT_PATH" - - echo "=== Creating Docker Context ===" - docker context create multiarch-context --docker "host=$DOCKER_HOST,ca=/certs/client/ca.pem,cert=/certs/client/cert.pem,key=/certs/client/key.pem" || echo "Context may already exist" - - echo "=== Listing Docker Contexts ===" - docker context ls - - echo "=== Creating Buildx Builder ===" - docker buildx create --name multiarch --driver docker-container --platform linux/amd64,linux/arm64 --use multiarch-context || docker buildx use multiarch - - echo "=== Activating Builder ===" - docker buildx use multiarch - docker buildx inspect --bootstrap - - echo "=== Listing Buildx Builders ===" - docker buildx ls - ''' + sh 'docker buildx create --name multiarch --driver docker-container --platform linux/amd64,linux/arm64 --use || docker buildx use multiarch' withMaven { - sh """ - export DOCKER_TLS_VERIFY=1 - export DOCKER_CERT_PATH=/certs/client - export DOCKER_CONFIG=\$HOME/.docker - echo "=== Maven Environment Debug ===" - echo "DOCKER_HOST=\$DOCKER_HOST" - echo "DOCKER_TLS_VERIFY=\$DOCKER_TLS_VERIFY" - echo "DOCKER_CERT_PATH=\$DOCKER_CERT_PATH" - echo "DOCKER_CONFIG=\$DOCKER_CONFIG" - echo "HOME=\$HOME" - echo "=== Buildx Status for Maven ===" - docker buildx ls - echo "=== Checking builder files ===" - ls -la \$HOME/.docker/buildx/instances/ || echo "No buildx instances directory" - ./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true - """ + sh "./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true" } } } From 421f31e06441a655b853468b72a9a4362659d715 Mon Sep 17 00:00:00 2001 From: Brandon Arp Date: Fri, 1 Aug 2025 20:05:47 -0700 Subject: [PATCH 23/23] need a little more --- Jenkinsfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8a91556c..98c71f2a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -44,7 +44,10 @@ pipeline { withCredentials([usernamePassword(credentialsId: 'jenkins-dockerhub', usernameVariable: 'DOCKER_USERNAME', passwordVariable: 'DOCKER_PASSWORD'), usernamePassword(credentialsId: 'jenkins-central', usernameVariable: 'CENTRAL_USER', passwordVariable: 'CENTRAL_PASS'), string(credentialsId: 'jenkins-gpg', variable: 'GPG_PASS')]) { - sh 'docker buildx create --name multiarch --driver docker-container --platform linux/amd64,linux/arm64 --use || docker buildx use multiarch' + sh ''' + docker context create multiarch-context --docker "host=$DOCKER_HOST,ca=/certs/client/ca.pem,cert=/certs/client/cert.pem,key=/certs/client/key.pem" || echo "Context exists" + docker buildx create --name multiarch --driver docker-container --platform linux/amd64,linux/arm64 --use multiarch-context || docker buildx use multiarch + ''' withMaven { sh "./jdk-wrapper.sh ./mvnw $target -P rpm -U -B -Dstyle.color=always -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Ddocker.verbose=true" }