From 291e28605f5063856b2e0ae37ce72fe38d2d90e2 Mon Sep 17 00:00:00 2001 From: Reuben George <157121779+rgeorgegrid@users.noreply.github.com> Date: Mon, 25 Mar 2024 22:58:13 +0530 Subject: [PATCH] Update Jenkinsfile --- Jenkinsfile | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 73771b3e4..b8f54e88d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,6 +2,10 @@ pipeline { agent { label 'mavenbuilder' } + environment { + TAG = sh(returnStdout: true, script: "git rev-parse --short HEAD").trim() + DOCKER_REGISTRY = "https://hub.docker.com/repository/docker/rgeorgegrid/mr" + } stages { stage ('Checkstyle') { steps { @@ -30,11 +34,17 @@ pipeline { stage ('Containerisation') { steps { script { - def dockerImage = docker.build("test-image1:${GIT_COMMIT[0..7]}", '.') - docker.withRegistry('https://hub.docker.com/repository/docker/rgeorgegrid/mr', 'docker_hub_login') { - dockerImage.push() + def composeBuildOutput = sh(script: 'docker-compose build --quiet', returnStdout: true).trim() + def imageIds = composeBuildOutput.tokenize('\n') + + imageIds.each { imageId -> + def serviceName = sh(script: "docker inspect --format='{{index .RepoTags 0}}' $imageId | cut -d':' -f1", returnStdout: true).trim() + sh "docker tag $imageId $DOCKER_REGISTRY/$serviceName:$TAG" + withCredentials([usernamePassword(credentialsId: 'DOCKERHUB_CREDENTIALS_ID', usernameVariable: 'DOCKER_USERNAME', passwordVariable: 'DOCKER_PASSWORD')]) { + sh "docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REGISTRY" + sh "docker push $DOCKER_REGISTRY/$serviceName:$TAG" + } } - echo 'IMAGES BUILT AND PUSHED TO MR REGISTRY' } } }