From 58c1c2f4403720a39f9671326dccdf8583ae9ae2 Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Wed, 20 Oct 2021 10:16:01 +0530 Subject: [PATCH 01/16] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 38a78cde..79afbc29 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ This is a Sample Maven App. + +Adding Test line. From c9388112a8a943c1379bf714f5f31de29c70c25b Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Wed, 20 Oct 2021 12:03:14 +0530 Subject: [PATCH 02/16] Create Jenkinsfile --- Jenkinsfile | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..21a3613a --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,25 @@ +pipeline { + agent any + + triggers { pollSCM('H/2 * * * *') } + tools { + maven 'Maven 3.6.1' + } + stages { + stage('Build') { + steps { + sh 'mavan compile' + } + } + stage('Test') { + steps { + sh 'mavan clean test' + } + } + stage('Package') { + steps { + sh 'mvn package -DskipTests' + } + } + } +} From 38e4bcbe57458f050198ea5dc8bb45596fc3ec68 Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Wed, 20 Oct 2021 12:10:53 +0530 Subject: [PATCH 03/16] Fix Maven version --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 21a3613a..3e475a93 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -3,7 +3,7 @@ pipeline { triggers { pollSCM('H/2 * * * *') } tools { - maven 'Maven 3.6.1' + maven 'Maven 3.6.3' } stages { stage('Build') { From 72e2fa9b07dab8da31aad89a2358a9ec281afcd3 Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Wed, 20 Oct 2021 12:16:20 +0530 Subject: [PATCH 04/16] Update Jenkinsfile --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3e475a93..ee14a18d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -8,12 +8,12 @@ pipeline { stages { stage('Build') { steps { - sh 'mavan compile' + sh 'mvn compile' } } stage('Test') { steps { - sh 'mavan clean test' + sh 'mvn clean test' } } stage('Package') { From f0d7731684d43a723459b5f252be6d3082da7137 Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Wed, 20 Oct 2021 12:18:19 +0530 Subject: [PATCH 05/16] Adding artifacts archive --- Jenkinsfile | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index ee14a18d..3333d415 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,25 +1,30 @@ pipeline { agent any - - triggers { pollSCM('H/2 * * * *') } - tools { - maven 'Maven 3.6.3' - } stages { stage('Build') { steps { sh 'mvn compile' } } + stage('Test') { steps { sh 'mvn clean test' } } + stage('Package') { steps { sh 'mvn package -DskipTests' + archiveArtifacts 'target/*.war' } } + + } + tools { + maven 'Maven 3.6.3' + } + triggers { + pollSCM('H/2 * * * *') } -} +} \ No newline at end of file From fd1e0c0c9a280647c999bd2aafb90ba38b3e0763 Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Wed, 20 Oct 2021 12:23:07 +0530 Subject: [PATCH 06/16] Revert artifacts archive --- Jenkinsfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3333d415..cf73fbe3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -16,7 +16,6 @@ pipeline { stage('Package') { steps { sh 'mvn package -DskipTests' - archiveArtifacts 'target/*.war' } } From c8a01b9dc2820340bc283234ba04639805a9721c Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Wed, 20 Oct 2021 14:33:10 +0530 Subject: [PATCH 07/16] Update README to create pull request to protected master --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 79afbc29..8a357d16 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ This is a Sample Maven App. -Adding Test line. +Test 01: Adding Test line. +Test 02: Add test line, and create pull request to protected master. From 39bfd96499e432420ac839b6a0538d7dad490dcd Mon Sep 17 00:00:00 2001 From: paragsin Date: Wed, 20 Oct 2021 14:53:34 +0530 Subject: [PATCH 08/16] Adding test file --- src/test.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/test.txt diff --git a/src/test.txt b/src/test.txt new file mode 100644 index 00000000..d76b5a16 --- /dev/null +++ b/src/test.txt @@ -0,0 +1 @@ +Adding text file From 60532ae3b41416a43fe2b691d8b72851f4512a95 Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Wed, 20 Oct 2021 16:15:24 +0530 Subject: [PATCH 09/16] Added Jenkinsfile --- Jenkinsfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index cf73fbe3..6e0d3310 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,5 +1,10 @@ pipeline { - agent any + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } stages { stage('Build') { steps { From a8267147e0f29a738772fa3daa6c208f155dbc00 Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Wed, 20 Oct 2021 16:20:07 +0530 Subject: [PATCH 10/16] Remove tools --- Jenkinsfile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e0d3310..5685512e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -25,10 +25,7 @@ pipeline { } } - tools { - maven 'Maven 3.6.3' - } triggers { pollSCM('H/2 * * * *') } -} \ No newline at end of file +} From 52b613b363215805c6526caf9c12619541f43ebe Mon Sep 17 00:00:00 2001 From: paragsin Date: Thu, 21 Oct 2021 15:52:57 +0530 Subject: [PATCH 11/16] added multi stage Dockerfile to build sysfoo app --- Dockerfile | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..d152fa02 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM maven:3.6.3-jdk-11-slim as build +WORKDIR /opt/demo +COPY . /opt/demo +RUN mvn package -D skipTests + +FROM tomcat as run +WORKDIR /usr/local/tomcat +COPY --from=build /opt/demo/target/sysfoo.war webapps/ROOT.war + From a56fe8c233b5aca45dd044e311e97015e38db13d Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Thu, 21 Oct 2021 16:32:53 +0530 Subject: [PATCH 12/16] Adding separate agent for all stages and archive artifacts for package step --- Jenkinsfile | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5685512e..2e93c528 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,26 +1,40 @@ pipeline { - agent { - docker { - image 'maven:3.6.3-jdk-11-slim' - } - - } + agent none stages { stage('Build') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } steps { sh 'mvn compile' } } stage('Test') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } steps { sh 'mvn clean test' } } stage('Package') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } steps { sh 'mvn package -DskipTests' + archiveArtifacts 'target/* .war' } } @@ -28,4 +42,4 @@ pipeline { triggers { pollSCM('H/2 * * * *') } -} +} \ No newline at end of file From 230244e4a7e25668fe116162c24b11df31a31f9b Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Thu, 21 Oct 2021 16:37:37 +0530 Subject: [PATCH 13/16] Fix archiving steps typo --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 2e93c528..82dc74f9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,7 +34,7 @@ pipeline { } steps { sh 'mvn package -DskipTests' - archiveArtifacts 'target/* .war' + archiveArtifacts 'target/*.war' } } From 9b78a9056e83bbdb07d65890e9863722ffec13a7 Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Thu, 21 Oct 2021 16:43:01 +0530 Subject: [PATCH 14/16] Add Docker BnP stage --- Jenkinsfile | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 82dc74f9..7879c486 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -38,6 +38,20 @@ pipeline { } } + stage('Docker BnP') { + steps { + script { + docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin') { + def dockerImage = docker.build("paragsin/sysfoo:v${env.BUILD_ID}", "./") + dockerImage.push() + dockerImage.push("latest") + dockerImage.push("dev") + } + } + + } + } + } triggers { pollSCM('H/2 * * * *') From f7346614c7074598a29f19b0b53453fddd047060 Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Thu, 21 Oct 2021 17:08:52 +0530 Subject: [PATCH 15/16] Adding parallelization for Docker BnP --- Jenkinsfile | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 7879c486..708d51c9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,26 +26,32 @@ pipeline { } stage('Package') { - agent { - docker { - image 'maven:3.6.3-jdk-11-slim' + parallel { + stage('Package') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } + steps { + sh 'mvn package -DskipTests' + archiveArtifacts 'target/*.war' + } } - } - steps { - sh 'mvn package -DskipTests' - archiveArtifacts 'target/*.war' - } - } + stage('DockerBnP') { + agent any + steps { + script { + docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin') { + def dockerImage = docker.build("paragsin/sysfoo:v${env.BUILD_ID}", "./") + dockerImage.push() + dockerImage.push("latest") + dockerImage.push("dev") + } + } - stage('Docker BnP') { - steps { - script { - docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin') { - def dockerImage = docker.build("paragsin/sysfoo:v${env.BUILD_ID}", "./") - dockerImage.push() - dockerImage.push("latest") - dockerImage.push("dev") } } From 14c4b1e67cc9f15afa19c9c8229e02a37e13812f Mon Sep 17 00:00:00 2001 From: Paragi Singhal Date: Thu, 21 Oct 2021 17:18:16 +0530 Subject: [PATCH 16/16] Execute packaging step only if branch is master --- Jenkinsfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 708d51c9..ef6d4a31 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,6 +26,9 @@ pipeline { } stage('Package') { + when { + branch 'master' + } parallel { stage('Package') { agent { @@ -62,4 +65,4 @@ pipeline { triggers { pollSCM('H/2 * * * *') } -} \ No newline at end of file +}