diff --git a/Jenkinsfile b/Jenkinsfile index 699b72c..282b876 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -28,6 +28,8 @@ pipeline { } parallel parallelStages + + env.ARCHITECTURES = architectures.join(',') } } } @@ -35,17 +37,20 @@ pipeline { when { tag "*" } agent any steps { - unstash "aarch64-image" - unstash "x86_64-image" - - sh "podman load -i aarch64-${env.BUILD_NUMBER}.tar" - sh "podman load -i x86_64-${env.BUILD_NUMBER}.tar" + def architectures = env.ARCHITECTURES.split(',') + + for (arch in architectures) { + unstash "${arch}-image" + sh "podman load -i ${arch}-${env.BUILD_NUMBER}.tar" + } + + def manifestImages = architectures.collect { arch -> + return "${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-${arch}-${env.BUILD_NUMBER}" + }.join(' ') sh ''' podman manifest rm ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME} || true - podman manifest create ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME} \ - ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME}-aarch64-${BUILD_NUMBER} \ - ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME}-x86_64-${BUILD_NUMBER} + podman manifest create ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME} ${manifestImages} ''' withCredentials([usernamePassword(credentialsId: "dockerhub", usernameVariable: "REG_USERNAME", passwordVariable: "REG_PASSWORD")]) {