pipeline { agent any environment { REGISTRY = "gitea.yourdomain.com" IMAGE = "gitea.yourdomain.com//work-week-progress" TAG = "${env.BUILD_NUMBER}" } stages { stage("Checkout") { steps { checkout scm } } stage("Build Image") { steps { sh """ docker build \ -t ${IMAGE}:${TAG} \ -t ${IMAGE}:latest \ . """ } } stage("Push Image") { steps { withCredentials([ usernamePassword( credentialsId: 'gitea-registry-creds', usernameVariable: 'GITEA_USER', passwordVariable: 'GITEA_TOKEN' ) ]) { sh """ echo "$GITEA_TOKEN" | docker login ${REGISTRY} \ -u "$GITEA_USER" --password-stdin docker push ${IMAGE}:${TAG} docker push ${IMAGE}:latest """ } } } } post { cleanup { sh "docker image prune -f" } } }