Update Jenkinsfile

This commit is contained in:
Reuben George 2024-03-25 23:46:30 +05:30 committed by GitHub
parent 9fecaa89e1
commit f4d297deb2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

30
Jenkinsfile vendored
View file

@ -3,8 +3,8 @@ pipeline {
label 'mavenbuilder' label 'mavenbuilder'
} }
environment { environment {
TAG = sh(returnStdout: true, script: "git rev-parse --short HEAD").trim() DOCKER_IMAGE_NAME = 'spring-petclinic'
DOCKER_REGISTRY = "https://hub.docker.com/repository/docker/rgeorgegrid/mr" DOCKER_REPO = 'mr'
} }
stages { stages {
stage ('Checkstyle') { stage ('Checkstyle') {
@ -31,21 +31,21 @@ pipeline {
} }
} }
} }
stage ('Containerisation') { stage('Build Docker Image') {
steps { steps {
script { script {
def composeBuildOutput = sh(script: 'docker-compose build --quiet', returnStdout: true).trim() def GIT_COMMIT_SHORT = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
def imageIds = composeBuildOutput.tokenize('\n') def DOCKER_TAG = "${DOCKER_IMAGE_NAME}:${GIT_COMMIT_SHORT}"
sh "docker build -t ${DOCKER_TAG} ."
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')]) { stage('Push Docker Image') {
sh "docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REGISTRY" steps {
sh "docker push $DOCKER_REGISTRY/$serviceName:$TAG" withCredentials([usernamePassword(credentialsId: 'docker_hub_login', passwordVariable: 'DOCKER_PASSWORD', usernameVariable: 'DOCKER_USERNAME')]) {
echo 'PUSHED TO $DOCKER_REGISTRY/$serviceName:$TAG' script {
echo $DOCKER_REGISTRY $DOCKER_PASSWORD $DOCKER_USERNAME sh "docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD}"
} sh "docker push ${DOCKER_TAG}"
} }
} }
} }