spring-petclinic/Jenkinsfile.pr
Riz Urian 52dae1a9d5
Update Jenkinsfile.pr
Signed-off-by: Riz Urian <98958099+rizjosel@users.noreply.github.com>
2025-12-27 10:12:18 +08:00

65 lines
1.6 KiB
Promela

pipeline {
agent any
environment {
APP_NAME = "petclinic"
DOCKER_USER = "rizjosel"
IMAGE_TAG = "${BUILD_NUMBER}"
IMAGE_NAME = "${DOCKER_USER}/${APP_NAME}:${IMAGE_TAG}"
}
stages {
stage('Notify GitHub Pending') {
steps {
setGitHubPullRequestStatus(
context: 'Jenkins CI',
status: 'PENDING'
)
}
}
stage('CI / Unit Tests') {
steps {
sh './gradlew clean build -x test'
junit 'build/test-results/test/*.xml'
}
}
stage('CI / Docker Build') {
steps {
sh "docker build -t ${IMAGE_NAME} ."
}
}
stage('CI / Docker Integration') {
steps {
script {
try {
sh "docker run -d --name ${APP_NAME}-test -p 8080:8080 ${IMAGE_NAME}"
sh "sleep 15"
sh "curl -f http://localhost:8080/actuator/health"
} finally {
sh "docker stop ${APP_NAME}-test || true"
sh "docker rm ${APP_NAME}-test || true"
}
}
}
}
}
post {
success {
setGitHubPullRequestStatus(
context: 'Jenkins CI',
status: 'SUCCESS'
)
}
failure {
setGitHubPullRequestStatus(
context: 'Jenkins CI',
status: 'FAILURE'
)
}
}
}