mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-15 12:25:50 +00:00
Add more stages to Jenkinsfile
This commit is contained in:
parent
61a75b5570
commit
29b73475db
1 changed files with 78 additions and 8 deletions
86
Jenkinsfile
vendored
86
Jenkinsfile
vendored
|
@ -4,7 +4,9 @@ pipeline {
|
|||
environment {
|
||||
// Define environment variables
|
||||
DOCKER_REGISTRY = "docker.io"
|
||||
DOCKER_IMAGE = "mmarcetic/main"
|
||||
DOCKER_IMAGE_MAIN = 'mmarcetic/main'
|
||||
DOCKER_IMAGE_MR = 'mmarcetic/mr'
|
||||
GIT_COMMIT = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim()
|
||||
}
|
||||
|
||||
stages {
|
||||
|
@ -15,23 +17,91 @@ pipeline {
|
|||
}
|
||||
}
|
||||
|
||||
stage('Build Docker Image') {
|
||||
stage('Set Docker Image') {
|
||||
steps {
|
||||
script {
|
||||
// Build the Docker image
|
||||
def gitCommit = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim()
|
||||
sh "docker build -t ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${gitCommit} ."
|
||||
// Set Docker image based on the branch name
|
||||
if (env.BRANCH_NAME == 'main') {
|
||||
env.DOCKER_IMAGE = DOCKER_IMAGE_MAIN
|
||||
} else {
|
||||
env.DOCKER_IMAGE = DOCKER_IMAGE_MR
|
||||
}
|
||||
|
||||
echo "Using Docker image: ${env.DOCKER_IMAGE}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Push Docker Image') {
|
||||
stage('Checkstyle Report') {
|
||||
when {
|
||||
changeRequest()
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
// Checkstyle with Gradle
|
||||
sh './gradlew checkstyleMain'
|
||||
archiveArtifacts artifacts: 'build/reports/checkstyle/checkstyle.xml'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Test') {
|
||||
when {
|
||||
changeRequest()
|
||||
}
|
||||
steps {
|
||||
// Test using Gradle
|
||||
sh './gradlew test'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build Without Tests') {
|
||||
when {
|
||||
changeRequest()
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
// Build without tests using Gradle
|
||||
sh './gradlew build -x test'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build Docker Image') {
|
||||
when {
|
||||
changeRequest()
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
// Build the Docker image
|
||||
sh "docker build -t ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${GIT_COMMIT} ."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Push Docker Image for Change Request') {
|
||||
when {
|
||||
changeRequest()
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
def gitCommit = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim()
|
||||
withCredentials([usernamePassword(credentialsId: "docker-login", usernameVariable: "DOCKER_USER", passwordVariable: "DOCKER_PASSWORD")]) {
|
||||
sh "docker login -u ${DOCKER_USER} -p ${DOCKER_PASSWORD}"
|
||||
sh "docker push ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${gitCommit}"
|
||||
sh "docker push ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${GIT_COMMIT}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Push Docker Image for Main') {
|
||||
when {
|
||||
branch "main"
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
withCredentials([usernamePassword(credentialsId: "docker-login", usernameVariable: "DOCKER_USER", passwordVariable: "DOCKER_PASSWORD")]) {
|
||||
sh "docker login -u ${DOCKER_USER} -p ${DOCKER_PASSWORD}"
|
||||
sh "docker push ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${GIT_COMMIT}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue