diff --git a/Jenkinsfile b/Jenkinsfile index 2637bbf06e932587494a5cf667d99a975c621bd6..0da508c58d726722745492aed918049a7598ebdd 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 0000000000000000000000000000000000000000..d118b47096392c1c7cfc78d51788e26c7ab645ee --- /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