From ac5ed08bbd130dcba0b778ae1fce537c5f7f4f11 Mon Sep 17 00:00:00 2001 From: Rajiv Poplai Date: Wed, 20 Oct 2021 12:00:26 +0530 Subject: [PATCH 1/8] adding Jenkinsfile for sysfoo --- Jenkinsfile | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..4c578d60 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,29 @@ +pipeline{ + + agent any + + tools{ + maven 'Maven 3.6.3' + } + + stages{ + stage('build'){ + steps{ + echo 'compile maven app' + sh 'mvn compile' + } + } + stage('test'){ + steps{ + echo 'test maven app' + sh 'mvn clean test' + } + } + stage('package'){ + steps{ + echo 'package maven app' + sh 'mvn package -DskipTests' + } + } + } +} From ed2f81993606eb8d7e5e2c71dbb952b3d836b05b Mon Sep 17 00:00:00 2001 From: Rajiv Poplai Date: Wed, 20 Oct 2021 12:24:08 +0530 Subject: [PATCH 2/8] Added Jenkinsfile --- Jenkinsfile | 53 +++++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4c578d60..d77d8981 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,29 +1,30 @@ -pipeline{ +pipeline { + agent any + stages { + stage('build') { + steps { + echo 'compile maven app' + sh 'mvn compile' + } + } - agent any + stage('test') { + steps { + echo 'test maven app' + sh 'mvn clean test' + } + } - tools{ - maven 'Maven 3.6.3' - } + stage('package') { + steps { + echo 'package maven app' + sh 'mvn package -DskipTests' + archiveArtifacts 'target/*.war' + } + } - stages{ - stage('build'){ - steps{ - echo 'compile maven app' - sh 'mvn compile' - } - } - stage('test'){ - steps{ - echo 'test maven app' - sh 'mvn clean test' - } - } - stage('package'){ - steps{ - echo 'package maven app' - sh 'mvn package -DskipTests' - } - } - } -} + } + tools { + maven 'Maven 3.6.3' + } +} \ No newline at end of file From 49123d9f6887eb3bc4b17a82fd3e68dd2e7cf95b Mon Sep 17 00:00:00 2001 From: sairaga Date: Wed, 20 Oct 2021 15:07:52 +0530 Subject: [PATCH 3/8] addeed application info --- test.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 test.md diff --git a/test.md b/test.md new file mode 100644 index 00000000..2c2a3257 --- /dev/null +++ b/test.md @@ -0,0 +1,4 @@ +Example App +========= + +This is a sample app. From 71a484790f2696368a0301e2b4f656233839c223 Mon Sep 17 00:00:00 2001 From: sairaga Date: Thu, 21 Oct 2021 15:38:17 +0530 Subject: [PATCH 4/8] added multi stage Dockerfile to build sysfoo app --- Dockerfile | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..1d02990e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +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 1dff3ebd0b578cfa5f1b0d8ef191e77bc876bf09 Mon Sep 17 00:00:00 2001 From: Rajiv Poplai Date: Thu, 21 Oct 2021 16:42:07 +0530 Subject: [PATCH 5/8] setting per stage agent --- Jenkinsfile | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index d77d8981..890a6481 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,6 +2,12 @@ pipeline { agent any stages { stage('build') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } steps { echo 'compile maven app' sh 'mvn compile' @@ -9,6 +15,12 @@ pipeline { } stage('test') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } steps { echo 'test maven app' sh 'mvn clean test' @@ -16,6 +28,12 @@ pipeline { } stage('package') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } steps { echo 'package maven app' sh 'mvn package -DskipTests' From 851fc4a2c407b616b42a8a481c68a23f7d689877 Mon Sep 17 00:00:00 2001 From: Rajiv Poplai Date: Thu, 21 Oct 2021 16:59:41 +0530 Subject: [PATCH 6/8] added step Docker BnP --- Jenkinsfile | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 890a6481..9b0bb9b7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -41,6 +41,21 @@ pipeline { } } + stage('Docker BnP') { + agent any + steps { + script { + docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin') { + def dockerImage = docker.build("rapoplai/sysfoo:v${env.BUILD_ID}", "./") + dockerImage.push() + dockerImage.push("latest") + dockerImage.push("dev") + } + } + + } + } + } tools { maven 'Maven 3.6.3' From 0ca582baca87ea478f8660daf27037cb10e3e61f Mon Sep 17 00:00:00 2001 From: sairaga Date: Fri, 22 Oct 2021 10:44:50 +0530 Subject: [PATCH 7/8] Adding docker-compose --- Jenkinsfile | 14 +++++++++++++- docker-compose.yaml | 6 ++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 docker-compose.yaml diff --git a/Jenkinsfile b/Jenkinsfile index 9b0bb9b7..1cf6ab6b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -56,8 +56,20 @@ pipeline { } } + stage('Deploy to Dev') { + when { + beforeAgent true + branch 'master' + } + agent any + steps { + echo 'Deploying to Dev Environment with Docker Compose' + sh 'docker-compose up -d' + } + } + } tools { maven 'Maven 3.6.3' } -} \ No newline at end of file +} diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 00000000..c0b64e17 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,6 @@ +version: "3.8" +services: + sysfoo: + image: rapoplai/sysfoo:latest + ports: + - 8888:8080 From b959c670c37a60376f3091f7e00fff114d4fdea3 Mon Sep 17 00:00:00 2001 From: sairaga Date: Fri, 22 Oct 2021 11:06:12 +0530 Subject: [PATCH 8/8] Changes in docker-compose --- docker-compose.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index c0b64e17..9bd2d2c0 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,6 +1,6 @@ version: "3.8" services: - sysfoo: - image: rapoplai/sysfoo:latest - ports: - - 8888:8080 + sysfoo: + image: rapoplai/sysfoo:latest + ports: + - 8888:8080