pipeline { environment { dockerImage = '' } parameters { string name: 'imageName', trim: false string name: 'dockerRegistry', trim: false } agent any stages { stage('Build image') { steps { sh '/usr/bin/env' script { /* Multi-Branch Pipeline works with env.BRANCH_NAME*/ dockerImage = docker.build("${env.imageName}:${env.BRANCH_NAME}","--pull --label BUILD_URL=${env.BUILD_URL} .") } } } stage('Test image') { steps { script { dockerImage.inside { sh '/usr/bin/env' sh '/bin/ps auxwwf' } } } } stage('Push image') { steps { script { docker.withRegistry(env.dockerRegistry) { dockerImage.push() } } } } stage('Cleanup') { steps { sh 'echo "TODO: cleanup!"' } } } }