From 5d5d26388fe4887dabd970499241289ea1599d81 Mon Sep 17 00:00:00 2001 From: Martin <git@mail.de> Date: Thu, 21 Nov 2024 16:33:12 +0100 Subject: [PATCH] OZG-7121 extract docker image push into bash script --- Jenkinsfile | 10 ++++++---- script/push-docker-image.sh | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 script/push-docker-image.sh diff --git a/Jenkinsfile b/Jenkinsfile index 2637bbf..0da508c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -286,10 +286,12 @@ String buildVersionName() { Void tagAndPushDockerImage(String newTag){ withCredentials([usernamePassword(credentialsId: 'jenkins-nexus-login', usernameVariable: 'USER', passwordVariable: 'PASSWORD')]) { - sh 'docker login docker.ozg-sh.de -u ${USER} -p ${PASSWORD}' - - sh "docker tag docker.ozg-sh.de/xta-test-server:${getPomVersion()} docker.ozg-sh.de/xta-test-server:${newTag}" - sh "docker push docker.ozg-sh.de/xta-test-server:${newTag}" + sh """ + export DOCKER_USER=${USER} + export DOCKER_PASSWORD=${PASSWORD} + export BRANCH_NAME=${env.BRANCH_NAME} + ./tag_and_push_docker_image.sh ${newTag} ${getPomVersion()} + """ } } diff --git a/script/push-docker-image.sh b/script/push-docker-image.sh new file mode 100644 index 0000000..d118b47 --- /dev/null +++ b/script/push-docker-image.sh @@ -0,0 +1,33 @@ +#!/bin/bash +set -e + +NEW_TAG="$1" +POM_VERSION="$2" +DOCKER_REGISTRY="docker.ozg-sh.de" +IMAGE_NAME="xta-test-server" + +if [ -z "$DOCKER_USER" ]; then + echo "Error: USER environment variable must be set" + exit 1 +fi +if [ -z "$DOCKER_PASSWORD" ]; then + echo "Error: PASSWORD environment variable must be set" + exit 1 +fi +if [ -z "$BRANCH_NAME" ]; then + echo "Error: BRANCH_NAME environment variable must be set" + exit 1 +fi + +echo "BRANCH_NAME: ${BRANCH_NAME}" + +echo "Log into Docker..." +echo "$DOCKER_PASSWORD" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USER" --password-stdin + +echo "Tag Docker image..." +docker tag "${DOCKER_REGISTRY}/${IMAGE_NAME}:${POM_VERSION}" "${DOCKER_REGISTRY}/${IMAGE_NAME}:${NEW_TAG}" + +echo "Push Docker image..." +docker push "${DOCKER_REGISTRY}/${IMAGE_NAME}:${NEW_TAG}" + +echo "Docker image pushed successfully: ${DOCKER_REGISTRY}/${IMAGE_NAME}:${NEW_TAG}" \ No newline at end of file -- GitLab