From d1a55a0e395568690e5d23d752812abbafe85a49 Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Wed, 4 Jun 2025 10:31:57 +0200 Subject: [PATCH] try git ref --- Jenkinsfile | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index e70687c..3783f1c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -6,24 +6,27 @@ pipeline { REPO_NAME = env.GIT_URL.replaceFirst(/^.*\/([^\/]+?).git$/, '$1') } stages { + stage("Build") { when { tag "*" } - parallel { - stage("aarch64") { - agent { label "aarch64" } - steps { - sh "podman build -t ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-aarch64 ." - sh "podman save -o aarch64.tar ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-aarch64" - stash includes: "aarch64.tar", name: 'aarch64-image' - } - } - stage("x86_64") { - agent { label "x86_64" } - steps { - sh "podman build -t ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-x86_64 ." - sh "podman save -o x86_64.tar ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-x86_64" - stash includes: "x86_64.tar", name: 'x86_64-image' + steps { + script { + def architectures = ["aarch64", "x86_64"] + def parallelStages = [:] + + for (arch in architectures) { + def nodeLabel = arch + + parallelStages[arch] = { + node(nodeLabel) { + sh "podman build -t ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-${nodeLabel}-${env.BUILD_NUMBER} ." + sh "podman save -o ${nodeLabel}.tar ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-${nodeLabel}-${env.BUILD_NUMBER}" + stash includes: "${nodeLabel}.tar", name: "${nodeLabel}-image" + } + } } + + parallel parallelStages } } } @@ -31,16 +34,16 @@ pipeline { when { tag "*" } agent any steps { - unstash 'aarch64-image' - unstash 'x86_64-image' + unstash "aarch64-image" + unstash "x86_64-image" sh "podman load -i aarch64.tar" sh "podman load -i x86_64.tar" sh ''' podman manifest create ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME} \ - ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME}-aarch64 \ - ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME}-x86_64 + ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME}-aarch64-${BUILD_NUMBER} \ + ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME}-x86_64-${BUILD_NUMBER} ''' withCredentials([usernamePassword(credentialsId: "dockerhub", usernameVariable: "REG_USERNAME", passwordVariable: "REG_PASSWORD")]) {