From 8568a6baac2818d4d6f6a7236ff9fa5af1b2adc6 Mon Sep 17 00:00:00 2001 From: sukrucakmak Date: Thu, 23 Mar 2023 00:57:20 +0300 Subject: [PATCH] jenkinsfile supports sonar --- Jenkinsfile | 52 ++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 19abbb1a1..8735103ef 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,18 +1,42 @@ -node { - stage("Clone the project") { - git branch: 'main', url: 'https://github.com/sukrucakmak/spring-petclinic.git' - } +pipeline { + agent any - stage("Compilation") { - sh "./mvnw clean install -DskipTests" - } + tools { + maven "mvn-3.9.1" + jdk "jdk-temurin-17" + } - stage("Tests and Deployment") { - stage("Runing unit tests") { - sh "./mvnw test -Punit" + stages { + /* + stage('Checkout Git') { + steps { + git branch: 'main', url: 'https://github.com/sukrucakmak/spring-petclinic.git' + } + */ + stage('Build') { + steps { + echo "Java Home: $env.JAVA_HOME" + sh "mvn -Dmaven.test.failure.ignore=true clean package" + } + } + stage('Quality Analysis') { + steps { + withSonarQubeEnv('sonar') { + sh 'mvn sonar:sonar' + } + } + } + stage('Quality Gate Control') { + steps { + timeout(time: 1, unit: 'HOURS') { + waitForQualityGate abortPipeline: true + } + } + } + stage('Deploy to Test') { + steps { + echo "Java Home: $env.JAVA_HOME" + } + } } - stage("Deployment") { - sh 'nohup ./mvnw spring-boot:run -Dserver.port=8001 &' - } - } }