pipeline { environment { dockerImage = '' } agent any stages { stage('Build image') { steps { sh '/usr/bin/env' script { dockerImage = docker.build("${env.imageName}:${env.GIT_LOCAL_BRANCH}","--pull --label \\\"GIT_COMMIT=${env.GIT_COMMIT}\\\" --label \\\"BUILD_URL=${env.BUILD_URL}\\\" .") } } } stage('Test image') { steps { script { dockerImage.inside("-u root --entrypoint='/bin/sleep infinity'") { sh '/usr/bin/env' } } } } stage('Push image') { steps { script { docker.withRegistry(env.dockerRegistry) { dockerImage.push() } } } } stage('Cleanup') { steps { sh 'echo "TODO: cleanup!"' } } } }