From d2f5f2445d0004060d42f3de72bbf1732a51e5ce Mon Sep 17 00:00:00 2001 From: prankumargrid Date: Thu, 1 May 2025 16:15:21 +0530 Subject: [PATCH] Update Jenkinsfile Signed-off-by: prankumargrid --- Jenkinsfile | 61 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 13 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5dd9d0ddd..685deae9a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -7,7 +7,8 @@ pipeline { } environment { - IMAGE_NAME = 'prankumar313-main' + IMAGE_NAME = "spring-petclinic" + DOCKERHUB_USER = "prankumar313" // Change to your Docker Hub username } stages { @@ -16,29 +17,63 @@ pipeline { sh ''' apt-get update apt-get install -y docker.io + docker --version ''' } } - stage('Build Docker Image') { + stage('Checkstyle') { + when { + expression { env.BRANCH_NAME != 'main' } + } steps { - script { - COMMIT = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim() - sh "docker build -t ${IMAGE_NAME}:${COMMIT} ." - } + sh './gradlew checkstyleMain checkstyleTest' + archiveArtifacts artifacts: '**/build/reports/checkstyle/*.xml', allowEmptyArchive: true } } - stage('Push to Docker Hub') { + stage('Test') { + when { + expression { env.BRANCH_NAME != 'main' } + } steps { - withCredentials([usernamePassword(credentialsId: 'dockerhub-creds', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { - sh ''' - echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - docker tag ${IMAGE_NAME}:${COMMIT} ${DOCKER_USER}/${IMAGE_NAME}:${COMMIT} - docker push ${DOCKER_USER}/${IMAGE_NAME}:${COMMIT} - ''' + sh './gradlew test' + } + } + + stage('Build (No Tests)') { + when { + expression { env.BRANCH_NAME != 'main' } + } + steps { + sh './gradlew build -x test' + } + } + + stage('Build & Push Docker Image') { + steps { + script { + COMMIT = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim() + IMAGE_TAG = "${DOCKERHUB_USER}/${env.BRANCH_NAME == 'main' ? 'main' : 'mr'}:${COMMIT}" + + sh """ + docker build -t ${IMAGE_TAG} . + """ + + withCredentials([usernamePassword(credentialsId: 'dockerhub-creds', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { + sh """ + echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + docker push ${IMAGE_TAG} + """ + } } } } } + + post { + always { + cleanWs() + } + } }