From 9a516318ca85776208457634c58be370aeeb1407 Mon Sep 17 00:00:00 2001 From: Sujan Giri Date: Thu, 20 Feb 2025 15:13:36 -0500 Subject: [PATCH] Added Jenkinsfile for CI pipeline --- Jenkinsfile | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 000000000..e80e1c101 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,55 @@ +pipeline { + agent any + + triggers { + cron('H/3 * * * 4') // Runs every 3 minutes on Thursdays + } + + tools { + maven 'Maven 3' + jdk 'JDK 11' + } + + stages { + stage('Checkout') { + steps { + git 'https://github.com/girisujan2001/spring-petclinic.git' + } + } + + stage('Build') { + steps { + sh 'mvn clean package' + } + } + + stage('Test & Code Coverage') { + steps { + sh 'mvn test' + sh 'mvn jacoco:report' + } + } + + stage('Archive Artifacts') { + steps { + archiveArtifacts artifacts: 'target/*.jar', fingerprint: true + } + } + + stage('Publish Jacoco Report') { + steps { + jacoco execPattern: '**/target/jacoco.exec', classPattern: '**/target/classes', sourcePattern: '**/src/main/java' + } + } + } + + post { + success { + echo 'Pipeline executed successfully!' + } + failure { + echo 'Pipeline failed!' + } + } +} +