diff --git a/Jenkinsfile b/Jenkinsfile index 9518889..57c8127 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,6 +4,7 @@ pipeline { CONTAINER_REGISTRY = credentials("container_registry") REGISTRY_NAMESPACE = credentials("registry_namespace") REPO_NAME = env.GIT_URL.replaceFirst(/^.*\/([^\/]+?).git$/, '$1') + IMAGE_NAME = "${env.CONTAINER_REGISTRY}/${env.REGISTRY_NAMESPACE}/${env.REPO_NAME}:${env.BRANCH_NAME}" } stages { stage("Build") { @@ -20,9 +21,12 @@ pipeline { node(nodeLabel) { checkout scm - sh "podman build -t ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-${nodeLabel}-${env.BUILD_NUMBER} ." - sh "podman save -o ${nodeLabel}-${env.BUILD_NUMBER}.tar ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-${nodeLabel}-${env.BUILD_NUMBER}" - stash includes: "${nodeLabel}-${env.BUILD_NUMBER}.tar", name: "${nodeLabel}-image" + def run_name = "${nodeLabel}-${env.BUILD_NUMBER}" + def image_run_name = "${IMAGE_RUN_NAME}-${nodeLabel}-${env.BUILD_NUMBER}" + + sh "podman build -t ${image_run_name} ." + sh "podman save -o ${run_name}.tar ${IMAGE_RUN_NAME}" + stash includes: "${run_name}.tar", name: "${nodeLabel}-image" } } } @@ -46,19 +50,19 @@ pipeline { } def manifestImages = architectures.collect { arch -> - return "${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-${arch}-${env.BUILD_NUMBER}" + return "${IMAGE_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} ${manifestImages} + podman manifest rm ${IMAGE_NAME} || true + podman manifest create ${IMAGE_NAME} ${manifestImages} """ withCredentials([usernamePassword(credentialsId: "dockerhub", usernameVariable: "REG_USERNAME", passwordVariable: "REG_PASSWORD")]) { sh """ podman login ${CONTAINER_REGISTRY} -u ${REG_USERNAME} -p ${REG_PASSWORD} - podman manifest push ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME} \ - docker://${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME} + podman manifest push ${IMAGE_NAME} \ + docker://${IMAGE_NAME} """ } }