From 88975dc5009c31ce0fb727ba31ec8fa9fe7aadb3 Mon Sep 17 00:00:00 2001 From: mitesh51 Date: Sun, 3 Jun 2018 15:40:48 +0530 Subject: [PATCH] Scripted Pipeline --- Jenkinsfile | 51 ++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 42 insertions(+), 9 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 7641c4aa6..e0f167bfb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,10 +1,43 @@ -pipeline { - agent any - stages { - stage('Build') { - steps { - git(url: 'https://github.com/mitesh51/spring-petclinic.git', branch: 'master') - } +node { + def mavenHome + + stage('Code Checkout') { + + // Get code from a repository and Git has to be installed in the system; git must be configured in the Global Tool Configuration + git 'https://github.com/mitesh51/spring-petclinic.git' + + // Get the Maven tool configured in Global Tool Configuration + // 'apache-maven-3.5.3' Maven tool must be configured in the global configuration. + mavenHome = tool 'apache-maven-3.5.3' } - } -} \ No newline at end of file + stage('Code Analysis') { + + // Configure SonarQube Scanner in Manage Jenkins -> Global Tool Configuration + def scannerHome = tool 'SonarQube Scanner'; + + // Sonarqube 7 must be configured in the Jenkins Manage Jenkins -> Configure System -> Add SonarQube server + withSonarQubeEnv('Sonar7.1') { + + bat "${scannerHome}/bin/sonar-scanner - + Dsonar.host.url=http://localhost:9000 - + Dsonar.login=4589cdd82528c33f782b63254d9656d564f42bd1 - + Dsonar.projectVersion=1.0 - + Dsonar.projectKey=PetClinic_Key - + Dsonar.sources=src" + } + } + stage('Build') { + // Execute shell script if OS flavor is Linux + if (isUnix()) { + sh "'${mavenHome}/bin/mvn' -Dmaven.test.failure.ignore clean package" + // Publish JUnit Report + junit '**/target/surefire-reports/TEST-*.xml' + } + else { + // Execute Batch script if OS flavor is Windows + bat(/"${mavenHome}\bin\mvn" clean package/) + // Publish JUnit Report + junit '**/target/surefire-reports/TEST-*.xml' + } + } +}