diff --git a/Jenkinsfile b/Jenkinsfile
index 73b573f..ee888ed 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,39 +1,99 @@
-node('node1') {
- def mvnHome
- def javaHome
- stage('Preparation') { // for display purposes
- mvnHome = tool 'm3'
- javaHome = tool 'jdk8'
- }
+pipeline {
+ agent any
+ tools{
+ maven 'm3'
+ jdk 'jdk8'
+ }
+ stages {
stage('Checkout') {
- git 'https://github.com/atinsingh/devopsjava.git'
+ steps {
+ checkout scm
+ }
}
+
stage('Compile') {
- // Run the maven build
- withEnv([ "JAVA_HOME=$javaHome", "MVN_HOME=$mvnHome"]) {
- sh '"$MVN_HOME/bin/mvn" clean compile'
- }
- }
- stage('Test') {
- // Run the maven build
- withEnv(["JAVA_HOME=$javaHome", "MVN_HOME=$mvnHome"]) {
- sh '"$MVN_HOME/bin/mvn" clean test'
- }
+ steps {
+ sh 'mvn compile'
+ }
}
- stage('Publish Test Results') {
- junit '**/target/surefire-reports/TEST-*.xml'
+ stage('SonarQube analysis') {
+ steps {
+ withSonarQubeEnv(credentialsId: 'sonarqube',installationName:'sonarqube') {
+ sh 'mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar'
+ }
+ }
}
- stage('Package') {
- // Run the maven build
- withEnv(["JAVA_HOME=$javaHome", "MVN_HOME=$mvnHome"]) {
- sh '"$MVN_HOME/bin/mvn" clean package'
- }
+// stage("Quality Gate") {
+// steps {
+// timeout(time: 2, unit: 'MINUTES') {
+// // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails
+// // true = set pipeline to UNSTABLE, false = don't
+// waitForQualityGate abortPipeline: true
+// }
+// }
+// }
+ stage('Test') {
+ steps {
+ sh 'mvn test'
+ }
}
- stage('Archive Artifact') {
- archiveArtifacts 'target/*.jar'
+ stage('Package') {
+ steps {
+ sh 'mvn package'
+ }
}
- stage('Complete') {
- sh 'echo completed'
+ stage ('Artifactory configuration') {
+ steps {
+ rtServer (
+ id: "art1",
+ url: "http://3.16.10.158/artifactory",
+ credentialsId: "artifactory"
+ )
+
+ rtMavenDeployer (
+ id: "MAVEN_DEPLOYER",
+ serverId: "art1",
+ releaseRepo: "libs-release-local",
+ snapshotRepo: "libs-snapshot-local"
+ )
+
+ rtMavenResolver (
+ id: "MAVEN_RESOLVER",
+ serverId: "art1",
+ releaseRepo: "libs-release",
+ snapshotRepo: "libs-snapshot"
+ )
+ }
+ }
+
+ stage ('Exec Maven') {
+ steps {
+ rtMavenRun (
+ tool: 'm3', // Tool name from Jenkins configuration
+ pom: 'pom.xml',
+ goals: 'install',
+ deployerId: "MAVEN_DEPLOYER",
+ resolverId: "MAVEN_RESOLVER"
+ )
+ }
+ }
+
+ stage ('Publish build info') {
+ steps {
+ rtPublishBuildInfo (
+ serverId: "art1"
+ )
+ }
+ }
+
+
+
+ }
+ post {
+ always {
+ junit '**/*.xml'
+ slackSend channel: 'devops_sept_2020', color: 'red', message: "BUILD FAILD - $JOB_NAME - $BUILD_ID", teamDomain: 'pragraconsulting2020', tokenCredentialId: 'slack'
}
+ }
}
diff --git a/pom.xml b/pom.xml
index 234f74c..95bba08 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,9 +9,9 @@
io.pragra.learning
- demo
+ pragrapp
0.0.1-SNAPSHOT
- demo
+ pragrapp
DemoProject For Devops
diff --git a/src/main/java/io/pragra/learning/demo/IndexController.java b/src/main/java/io/pragra/learning/demo/IndexController.java
index 898f8d3..30ec1f4 100644
--- a/src/main/java/io/pragra/learning/demo/IndexController.java
+++ b/src/main/java/io/pragra/learning/demo/IndexController.java
@@ -6,6 +6,7 @@ public class IndexController {
@GetMapping("/")
public String getHome() {
+
return "index";
}
}
diff --git a/src/test/java/io/pragra/learning/demo/DemoApplicationTests.java b/src/test/java/io/pragra/learning/demo/DemoApplicationTests.java
index addf968..986adda 100644
--- a/src/test/java/io/pragra/learning/demo/DemoApplicationTests.java
+++ b/src/test/java/io/pragra/learning/demo/DemoApplicationTests.java
@@ -1,5 +1,6 @@
package io.pragra.learning.demo;
+import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@@ -12,7 +13,7 @@ void contextLoads() {
@Test
void test1(){
-
+
}
@@ -26,4 +27,10 @@ void test3(){
}
+
+ @Test
+ void test4(){
+
+ }
+
}