pipeline { agent any environment { REGISTRY_HOST = 'gitea.mindboost.team' IMAGE_NAME = 'interkollektives/lichterei-web' IMAGE_TAG = '0.0.1' IMAGE_REF = "${REGISTRY_HOST}/${IMAGE_NAME}:${IMAGE_TAG}" } stages { stage('Checkout') { steps { checkout scm } } stage('Build & Push image') { steps { withCredentials([usernamePassword( credentialsId: 'gitea-container-registry', usernameVariable: 'REGISTRY_USER', passwordVariable: 'REGISTRY_PASSWORD' )]) { sh """ if ! docker buildx inspect jenkins-builder >/dev/null 2>&1; then docker buildx create --name jenkins-builder --use else docker buildx use jenkins-builder fi docker buildx inspect --bootstrap echo "${REGISTRY_PASSWORD}" | docker login ${REGISTRY_HOST} \ --username "${REGISTRY_USER}" --password-stdin docker buildx build \ --platform linux/amd64 \ --file Dockerfile \ --tag ${IMAGE_REF} \ --push \ . docker logout ${REGISTRY_HOST} """ } } } } post { always { sh 'docker image prune --force' } } }