mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-22 07:45:49 +00:00
add merge request and main branch pipelines to Jenkinsfile
This commit is contained in:
parent
5b3f086182
commit
7785c1baa8
1 changed files with 29 additions and 9 deletions
38
Jenkinsfile
vendored
38
Jenkinsfile
vendored
|
@ -1,9 +1,7 @@
|
||||||
pipeline {
|
pipeline {
|
||||||
|
|
||||||
agent any
|
agent any
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
// Define environment variable using credentials
|
|
||||||
DOCKER_CREDENTIALS = credentials('dockercreds')
|
DOCKER_CREDENTIALS = credentials('dockercreds')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,14 +9,16 @@ pipeline {
|
||||||
stage('Docker Login') {
|
stage('Docker Login') {
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Perform Docker login using credentials
|
|
||||||
withEnv(["DOCKER_USERNAME=${DOCKER_CREDENTIALS_USR}", "DOCKER_PASSWORD=${DOCKER_CREDENTIALS_PSW}"]) {
|
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') {
|
stage('Checkstyle') {
|
||||||
|
when {
|
||||||
|
expression { env.CHANGE_ID != null } // Run only for merge requests
|
||||||
|
}
|
||||||
steps {
|
steps {
|
||||||
sh './mvnw checkstyle:checkstyle'
|
sh './mvnw checkstyle:checkstyle'
|
||||||
}
|
}
|
||||||
|
@ -29,24 +29,44 @@ pipeline {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('Test') {
|
stage('Test') {
|
||||||
|
when {
|
||||||
|
expression { env.CHANGE_ID != null } // Run only for merge requests
|
||||||
|
}
|
||||||
steps {
|
steps {
|
||||||
sh './mvnw test'
|
sh './mvnw test'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('Build Without Tests') {
|
stage('Build Without Tests') {
|
||||||
|
when {
|
||||||
|
expression { env.CHANGE_ID != null } // Run only for merge requests
|
||||||
|
}
|
||||||
steps {
|
steps {
|
||||||
sh './mvnw clean package -DskipTests'
|
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 {
|
steps {
|
||||||
script {
|
script {
|
||||||
def commitId = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
|
def commitId = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
|
||||||
sh "docker build -t mivancevic/spring-petclinic:${commitId} ."
|
sh "docker build -t mivancevic/mr:${commitId} ."
|
||||||
sh "docker push mivancevic/spring-petclinic:${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}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue