project = "alpine" repo = "zknt" version = "3.12.0" registry = "reg.zknt.org" registry_credentials = "6ff44976-23cd-4cc2-902c-de8c340e65e5" pipeline { agent any stages { stage('Build image') { steps { withDockerRegistry([ credentialsId: registry_credentials, url: "https://"+registry ]) { echo 'Starting to build docker image' script { def customImage = docker.build(registry+'/'+repo+'/'+project, "--build-arg VERSION=$version .") customImage.push(version) customImage.push(version.split(/\./)[0,1].join('.')) customImage.push(version.split(/\./)[0]) customImage.push("latest") registry_credentials = "3deeee3d-6fce-4430-98dd-9b4db56f43f7" withDockerRegistry([ credentialsId: registry_credentials ]) { def official_image = repo+'/'+project+':'+version.split(/\./)[0,1].join('.') sh "docker image tag " + registry+'/'+repo+'/'+project+':'+version + ' ' + official_image sh "docker image tag " + registry+'/'+repo+'/'+project+':'+version + ' ' + official_image.split(/\:/)[0] sh "docker push " + official_image sh "docker push " + official_image.split(/\:/)[0] } } } } } } post { always { emailext body: 'build finished', subject: '[jenkins] docker '+project+': ' + currentBuild.result, to: 'cg@zknt.org', from: 'sysadm@zknt.org', attachLog: true } } }