pipeline { agent { label 'linux-aarch64' } environment { GIT_REF = """${sh( returnStdout: true, script: 'git describe --tags --exact-match 2>/dev/null || git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD' ).trim()}""" CONTAINER_REGISTRY = credentials('container_registry') REGISTRY_NAMESPACE = credentials('registry_namespace') REPO_NAME = env.GIT_URL.replaceFirst(/^.*\/([^\/]+?).git$/, '$1') } stages { stage('Build') { when { tag "*" } steps { sh "printenv" sh "echo $REPO_NAME" sh "podman build -t ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME} ." } } stage('Push') { when { tag "*" } steps { withCredentials([usernamePassword(credentialsId: 'dockerhub', usernameVariable: 'REG_USERNAME', passwordVariable: 'REG_PASSWORD')]) { sh ''' podman login ${CONTAINER_REGISTRY} -u ${REG_USERNAME} -p ${REG_PASSWORD} podman push ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME} ''' } } } } }