diff --git a/Jenkinsfile b/Jenkinsfile index e03811162..2e88123d0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,9 +1,7 @@ pipeline { - agent any environment { - // Define environment variable using credentials DOCKER_CREDENTIALS = credentials('dockercreds') } @@ -11,14 +9,16 @@ pipeline { stage('Docker Login') { steps { script { - // Perform Docker login using credentials withEnv(["DOCKER_USERNAME=${DOCKER_CREDENTIALS_USR}", "DOCKER_PASSWORD=${DOCKER_CREDENTIALS_PSW}"]) { - sh "docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD" - } + sh "docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD" } } + } } stage('Checkstyle') { + when { + expression { env.CHANGE_ID != null } // Run only for merge requests + } steps { sh './mvnw checkstyle:checkstyle' } @@ -29,24 +29,44 @@ pipeline { } } stage('Test') { + when { + expression { env.CHANGE_ID != null } // Run only for merge requests + } steps { sh './mvnw test' } } stage('Build Without Tests') { + when { + expression { env.CHANGE_ID != null } // Run only for merge requests + } steps { sh './mvnw clean package -DskipTests' } } - stage('Create Docker Image and Push') { + stage('Create Docker Image for MR') { + when { + expression { env.CHANGE_ID != null } // Run only for merge requests + } steps { script { def commitId = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim() - sh "docker build -t mivancevic/spring-petclinic:${commitId} ." - sh "docker push mivancevic/spring-petclinic:${commitId}" + sh "docker build -t mivancevic/mr:${commitId} ." + sh "docker push mivancevic/mr:${commitId}" + } + } + } + stage('Create Docker Image for Main') { + when { + branch 'main' // Run only for the main branch + } + steps { + script { + def commitId = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim() + sh "docker build -t mivancevic/main:${commitId} ." + sh "docker push mivancevic/main:${commitId}" } } } - } }