pipeline { environment { registry = 'https://registry.hub.docker.com' registryCredential = 'dockerhub_jcabillot' dockerImage = 'jcabillot/troposphere' } agent any triggers { cron('@midnight') } stages { stage('Clone repository') { steps{ checkout scm } } stage('Build image') { steps{ sh 'docker build --force-rm --no-cache --pull -t ${dockerImage} .' } } stage('Deploy Image') { steps{ script { withCredentials([usernamePassword(credentialsId: 'dockerhub_jcabillot', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { sh 'docker login --username ${DOCKER_USER} --password ${DOCKER_PASS}' sh 'docker push ${dockerImage}' } } } } } }