pipeline { agent any stages { stage('Set Image Name') { steps { script { env.IMAGE = "harbor.dinauer.dev/kubooboo/frontend:${env.BUILD_NUMBER}"; } } } stage('Build Image') { steps { script { sh "docker build --no-cache -t ${env.IMAGE} ." } } } stage('Push Image to Docker Hub') { steps { script { withCredentials([usernamePassword(credentialsId: 'harbor', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { sh 'echo ${PASSWORD} | docker login harbor.dinauer.dev -u ${USERNAME} --password-stdin' sh "docker push ${env.IMAGE}" sh "docker logout harbor.dinauer.dev" } } } } stage('Remove image from host') { steps { script { sh "docker image rm --force ${env.IMAGE}" } } } } }