#!groovy pipeline { agent { label 'linux' } stages { stage('Build/Push Docker Image') { when { beforeAgent true; branch 'main' } stages { stage('Login') { environment { DOCKER_HUB_CREDENTIALS = credentials('docker-hub-fah16145') PACKAGE_REGISTRY_CREDENTIALS = credentials('gitea-package-registry-jenkins-user') } steps { sh 'docker login -u ${DOCKER_HUB_CREDENTIALS_USR} -p ${DOCKER_HUB_CREDENTIALS_PSW}' sh 'docker login -u ${PACKAGE_REGISTRY_CREDENTIALS_USR} -p ${PACKAGE_REGISTRY_CREDENTIALS_PSW} gitea.fahrecker.com' } } stage('Build & Push') { parallel { stage('Default Image') { stages { stage('Build Default Image') { steps { sh '''docker build \ -t fah16145/good-old-jenkins:latest \ -t gitea.fahrecker.com/andreas-personal/good-old-jenkins:latest \ . ''' } } stage('Push Default Image') { steps { sh 'docker push fah16145/good-old-jenkins:latest' sh 'docker push gitea.fahrecker.com/andreas-personal/good-old-jenkins:latest' } } } } stage('Alpine Image') { stages { stage('Build Alpine Image') { steps { sh '''docker build \ -t fah16145/good-old-jenkins:alpine \ -t gitea.fahrecker.com/andreas-personal/good-old-jenkins:alpine \ alpine/ ''' } } stage('Push Alpine Image') { steps { sh 'docker push fah16145/good-old-jenkins:alpine' sh 'docker push gitea.fahrecker.com/andreas-personal/good-old-jenkins:alpine' } } } } } } } post { always { sh 'docker logout' } } } } }