From 5316002a05f1e4b9b2e0f5ccf7a4c82b4a130e24 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 17:02:40 +0530 Subject: [PATCH 01/27] Create Dockerfile --- Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..59f7ad060 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +From tomcat:9 +ADD target/addressbook.war /usr/local/tomcat/webapps +EXPOSE 8080 +CMD ["catalina.sh", "run"] From f87574980741009face766abeda7f42709e80ca7 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 17:04:05 +0530 Subject: [PATCH 02/27] Create deployment.yaml --- deployment.yaml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 deployment.yaml diff --git a/deployment.yaml b/deployment.yaml new file mode 100644 index 000000000..47f1d9133 --- /dev/null +++ b/deployment.yaml @@ -0,0 +1,37 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: kubeserve +spec: + replicas: 2 + minReadySeconds: 10 # wait for 45 sec before going to deploy next pod + strategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 1 + maxSurge: 1 # max number of pods to run for the deployment + selector: + matchLabels: + app: kubeserve + template: + metadata: + name: kubeserve + labels: + app: kubeserve + spec: + containers: + - name: app + image: kalyand14/myimage:docker +--- +kind: Service +apiVersion: v1 +metadata: + name: kubeserve-svc +spec: + type: NodePort + ports: + - port: 8080 + targetPort: 8080 + nodePort: 30008 + selector: + app: kubeserve From 428a90a66480cd01cf82d9f99283641576c63a2d Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 17:11:51 +0530 Subject: [PATCH 03/27] Create kubejenkinsfile --- kubejenkinsfile | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 kubejenkinsfile diff --git a/kubejenkinsfile b/kubejenkinsfile new file mode 100644 index 000000000..b4ee01c08 --- /dev/null +++ b/kubejenkinsfile @@ -0,0 +1,39 @@ +pipeline { + agent any + environment { + PROJECT_ID = 'swift-delight-352901' + CLUSTER_NAME = 'project-devops' + LOCATION = 'asia-south1-a' + CREDENTIALS_ID = 'project-devops' + } + stages { + stage("Checkout code") { + steps { + checkout scm + } + } + stage("Build image") { + steps { + script { + myapp = docker.build("kalyand14/myimage:${env.BUILD_ID}") + } + } + } + stage("Push image") { + steps { + script { + docker.withRegistry('https://registry.hub.docker.com', 'dockerID') { + myapp.push("latest") + myapp.push("${env.BUILD_ID}") + } + } + } + } + stage('Deploy to GKE') { + steps{ + sh "sed -i 's/myimage:latest/myimage:${env.BUILD_ID}/g' deployment.yaml" + step([$class: 'KubernetesEngineBuilder', projectId: env.PROJECT_ID, clusterName: env.CLUSTER_NAME, location: env.LOCATION, manifestPattern: 'deployment.yaml', credentialsId: env.CREDENTIALS_ID, verifyDeployments: true]) + } + } + } +} From b7ac36dd6339801195980fca74fc228faa9446a9 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 17:12:49 +0530 Subject: [PATCH 04/27] Update deployment.yaml --- deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment.yaml b/deployment.yaml index 47f1d9133..1dd69311d 100644 --- a/deployment.yaml +++ b/deployment.yaml @@ -21,7 +21,7 @@ spec: spec: containers: - name: app - image: kalyand14/myimage:docker + image: kalyand14/myimage:latest --- kind: Service apiVersion: v1 From 5a047ab705c95efc1e23426140c00667917e9276 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 17:23:17 +0530 Subject: [PATCH 05/27] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 59f7ad060..d67ee5252 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ From tomcat:9 -ADD target/addressbook.war /usr/local/tomcat/webapps +ADD DevOpsClassCodes/target/addressbook.war /usr/local/tomcat/webapps EXPOSE 8080 CMD ["catalina.sh", "run"] From 43ab86ef742663c46842767821573f19becb0bef Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 17:26:15 +0530 Subject: [PATCH 06/27] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d67ee5252..59f7ad060 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ From tomcat:9 -ADD DevOpsClassCodes/target/addressbook.war /usr/local/tomcat/webapps +ADD target/addressbook.war /usr/local/tomcat/webapps EXPOSE 8080 CMD ["catalina.sh", "run"] From f536cfbeb6cf04295c9e681751da70f5c0ea086f Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 17:32:47 +0530 Subject: [PATCH 07/27] Update kubejenkinsfile --- kubejenkinsfile | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kubejenkinsfile b/kubejenkinsfile index b4ee01c08..a2ddb8f57 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -1,4 +1,8 @@ pipeline { + tools{ + jdk 'myjava' + maven 'mymaven' + } agent any environment { PROJECT_ID = 'swift-delight-352901' @@ -12,6 +16,12 @@ pipeline { checkout scm } } + stage("Package") { + steps { + sh "mvn clean package" + sh "mv target/*.war target/addressbook.war" + } + } stage("Build image") { steps { script { From dbc240ef47dfcdc7fe6f3b08fc6de1844a835d4c Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 17:35:22 +0530 Subject: [PATCH 08/27] Update kubejenkinsfile --- kubejenkinsfile | 1 - 1 file changed, 1 deletion(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index a2ddb8f57..c6cf5f887 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -19,7 +19,6 @@ pipeline { stage("Package") { steps { sh "mvn clean package" - sh "mv target/*.war target/addressbook.war" } } stage("Build image") { From c695b7f820e254793b11b0ac53b5cbc8def985ff Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 17:39:20 +0530 Subject: [PATCH 09/27] Update kubejenkinsfile --- kubejenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index c6cf5f887..18b37e5fc 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -40,7 +40,7 @@ pipeline { } stage('Deploy to GKE') { steps{ - sh "sed -i 's/myimage:latest/myimage:${env.BUILD_ID}/g' deployment.yaml" + sh "sed -i 's/myimage:latest/myimage:${env.BUILD_ID}/g' ./deployment.yaml" step([$class: 'KubernetesEngineBuilder', projectId: env.PROJECT_ID, clusterName: env.CLUSTER_NAME, location: env.LOCATION, manifestPattern: 'deployment.yaml', credentialsId: env.CREDENTIALS_ID, verifyDeployments: true]) } } From 3d15e7fc400c0bfdc158b648933dc5c79f231fbc Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 17:42:26 +0530 Subject: [PATCH 10/27] Update kubejenkinsfile --- kubejenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index 18b37e5fc..37bec8a3d 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -40,7 +40,7 @@ pipeline { } stage('Deploy to GKE') { steps{ - sh "sed -i 's/myimage:latest/myimage:${env.BUILD_ID}/g' ./deployment.yaml" + //sh "sed -i 's/myimage:latest/myimage:${env.BUILD_ID}/g' ./deployment.yaml" step([$class: 'KubernetesEngineBuilder', projectId: env.PROJECT_ID, clusterName: env.CLUSTER_NAME, location: env.LOCATION, manifestPattern: 'deployment.yaml', credentialsId: env.CREDENTIALS_ID, verifyDeployments: true]) } } From beec372198c714394d48cc7366603b7e8677f2bd Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 19:55:38 +0530 Subject: [PATCH 11/27] Create builder.yaml --- builder.yaml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 builder.yaml diff --git a/builder.yaml b/builder.yaml new file mode 100644 index 000000000..22a489006 --- /dev/null +++ b/builder.yaml @@ -0,0 +1,26 @@ +apiVersion: v1 +kind: Pod +metadata: + name: kaniko +spec: + containers: + - name: kubectl + image: joshendriks/alpine-k8s + command: + - /bin/cat + tty: true + - name: kaniko + image: gcr.io/kaniko-project/executor:debug + command: + - /busybox/cat + tty: true + volumeMounts: + - name: kaniko-secret + mountPath: /kaniko/.docker + volumes: + - name: kaniko-secret + secret: + secretName: regcred + items: + - key: .dockerconfigjson + path: config.json From bafb07e288e36aeb199550bdf1b46bd22fefd87b Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 20:02:55 +0530 Subject: [PATCH 12/27] Update kubejenkinsfile --- kubejenkinsfile | 90 +++++++++++++++++++++++++++---------------------- 1 file changed, 49 insertions(+), 41 deletions(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index 37bec8a3d..71568d96e 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -1,48 +1,56 @@ pipeline { - tools{ - jdk 'myjava' - maven 'mymaven' + + tools{ + jdk 'myjava' + maven 'mymaven' + } + options { + ansiColor('xterm') + } + + agent { + kubernetes { + yamlFile 'builder.yaml' } - agent any - environment { - PROJECT_ID = 'swift-delight-352901' - CLUSTER_NAME = 'project-devops' - LOCATION = 'asia-south1-a' - CREDENTIALS_ID = 'project-devops' - } - stages { - stage("Checkout code") { - steps { - checkout scm - } + } + + stages { + + stage("Checkout code") { + steps { + checkout scm } - stage("Package") { - steps { - sh "mvn clean package" - } + } + stage("Package") { + steps { + sh "mvn clean package" } - stage("Build image") { - steps { - script { - myapp = docker.build("kalyand14/myimage:${env.BUILD_ID}") - } - } + } + + stage('Kaniko Build & Push Image') { + steps { + container('kaniko') { + script { + sh ''' + /kaniko/executor --dockerfile `pwd`/Dockerfile \ + --context `pwd` \ + --destination=kalyand14/myimage:${BUILD_NUMBER} + ''' + } } - stage("Push image") { - steps { - script { - docker.withRegistry('https://registry.hub.docker.com', 'dockerID') { - myapp.push("latest") - myapp.push("${env.BUILD_ID}") - } - } - } - } - stage('Deploy to GKE') { - steps{ - //sh "sed -i 's/myimage:latest/myimage:${env.BUILD_ID}/g' ./deployment.yaml" - step([$class: 'KubernetesEngineBuilder', projectId: env.PROJECT_ID, clusterName: env.CLUSTER_NAME, location: env.LOCATION, manifestPattern: 'deployment.yaml', credentialsId: env.CREDENTIALS_ID, verifyDeployments: true]) - } + } + } + + stage('Deploy App to Kubernetes') { + steps { + container('kubectl') { + withCredentials([file(credentialsId: 'mykubeconfig', variable: 'KUBECONFIG')]) { + sh 'sed -i "s//${BUILD_NUMBER}/" deployment.yaml' + sh 'kubectl apply -f deployment.yaml' + } } - } + } + } + + } } From 316600c66ee896a04bd7411a88f245bef1600ab8 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sat, 25 Jun 2022 20:03:30 +0530 Subject: [PATCH 13/27] Update deployment.yaml --- deployment.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deployment.yaml b/deployment.yaml index 1dd69311d..a0953ecf9 100644 --- a/deployment.yaml +++ b/deployment.yaml @@ -21,7 +21,9 @@ spec: spec: containers: - name: app - image: kalyand14/myimage:latest + image: kalyand14/myimage: + imagePullPolicy: Always + --- kind: Service apiVersion: v1 From 7506b5455891ea6854751fa7fb9b0ff8f345949c Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sun, 26 Jun 2022 16:32:10 +0530 Subject: [PATCH 14/27] Update kubejenkinsfile --- kubejenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index 71568d96e..9964a6b7b 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -2,7 +2,7 @@ pipeline { tools{ jdk 'myjava' - maven 'mymaven' + maven '3.8.1' } options { ansiColor('xterm') From 9d0c7b92605e788d51689929829b87106e8f4058 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sun, 26 Jun 2022 16:34:23 +0530 Subject: [PATCH 15/27] Update kubejenkinsfile --- kubejenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index 9964a6b7b..71568d96e 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -2,7 +2,7 @@ pipeline { tools{ jdk 'myjava' - maven '3.8.1' + maven 'mymaven' } options { ansiColor('xterm') From c0d529519b2eb371c9b85149e4eaebfbf0a468ad Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sun, 26 Jun 2022 16:36:15 +0530 Subject: [PATCH 16/27] Update kubejenkinsfile --- kubejenkinsfile | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index 71568d96e..c6cbab370 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -1,18 +1,16 @@ pipeline { - - tools{ - jdk 'myjava' - maven 'mymaven' - } options { ansiColor('xterm') } - agent { kubernetes { yamlFile 'builder.yaml' } } + tools{ + jdk 'myjava' + maven 'mymaven' + } stages { From e60de2d87c316a6c5cad9043bb350de5c9d176e2 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sun, 26 Jun 2022 17:00:11 +0530 Subject: [PATCH 17/27] Update kubejenkinsfile --- kubejenkinsfile | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index c6cbab370..9c4639720 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -24,20 +24,25 @@ pipeline { sh "mvn clean package" } } - - stage('Kaniko Build & Push Image') { - steps { - container('kaniko') { - script { - sh ''' - /kaniko/executor --dockerfile `pwd`/Dockerfile \ - --context `pwd` \ - --destination=kalyand14/myimage:${BUILD_NUMBER} - ''' - } + + stage("Build image") { + steps { + script { + myapp = docker.build("kalyand14/myimage:${env.BUILD_ID}") + } + } } - } - } + stage("Push image") { + steps { + script { + docker.withRegistry('https://registry.hub.docker.com', 'dockerID') { + myapp.push("latest") + myapp.push("${env.BUILD_ID}") + } + } + } + } + stage('Deploy App to Kubernetes') { steps { From f5682e3ec9c18cbfefc26766ec82c8e42af1101f Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sun, 26 Jun 2022 17:06:10 +0530 Subject: [PATCH 18/27] Update builder.yaml --- builder.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/builder.yaml b/builder.yaml index 22a489006..244697f69 100644 --- a/builder.yaml +++ b/builder.yaml @@ -10,9 +10,11 @@ spec: - /bin/cat tty: true - name: kaniko - image: gcr.io/kaniko-project/executor:debug + image: gcr.io/kaniko-project/executor:v1.7.0-debug command: - /busybox/cat + - /busybox/sleep + - infinity tty: true volumeMounts: - name: kaniko-secret From b49846a6fcbf251ff9a3d5304fd6641fd9634207 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sun, 26 Jun 2022 17:08:11 +0530 Subject: [PATCH 19/27] Update kubejenkinsfile --- kubejenkinsfile | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index 9c4639720..1050ed7a3 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -24,24 +24,23 @@ pipeline { sh "mvn clean package" } } - - stage("Build image") { - steps { - script { - myapp = docker.build("kalyand14/myimage:${env.BUILD_ID}") - } + + stage('Kaniko Build & Push Image') { + environment { + PATH = "/busybox:/kaniko:$PATH" } + steps { + container(name: 'kaniko', shell: '/busybox/sh') { + script { + sh '''#!/busybox/sh + /kaniko/executor --verbosity debug --dockerfile `pwd`/Dockerfile \ + --context `pwd` \ + --destination=kalyand14/myimage:${BUILD_NUMBER} + ''' + } } - stage("Push image") { - steps { - script { - docker.withRegistry('https://registry.hub.docker.com', 'dockerID') { - myapp.push("latest") - myapp.push("${env.BUILD_ID}") - } - } - } - } + } + } stage('Deploy App to Kubernetes') { From b0156251970d5561fe9d4d5fd62eab90b614c0db Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sun, 26 Jun 2022 17:10:08 +0530 Subject: [PATCH 20/27] Update builder.yaml --- builder.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/builder.yaml b/builder.yaml index 244697f69..22a489006 100644 --- a/builder.yaml +++ b/builder.yaml @@ -10,11 +10,9 @@ spec: - /bin/cat tty: true - name: kaniko - image: gcr.io/kaniko-project/executor:v1.7.0-debug + image: gcr.io/kaniko-project/executor:debug command: - /busybox/cat - - /busybox/sleep - - infinity tty: true volumeMounts: - name: kaniko-secret From b4aee9cf115306d362ad81a9048165578130ee11 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sun, 26 Jun 2022 20:27:12 +0530 Subject: [PATCH 21/27] Update kubejenkinsfile --- kubejenkinsfile | 36 +++--------------------------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index 1050ed7a3..4ca204c09 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -7,47 +7,17 @@ pipeline { yamlFile 'builder.yaml' } } - tools{ - jdk 'myjava' - maven 'mymaven' - } + stages { - stage("Checkout code") { - steps { - checkout scm - } - } - stage("Package") { - steps { - sh "mvn clean package" - } - } - - stage('Kaniko Build & Push Image') { - environment { - PATH = "/busybox:/kaniko:$PATH" - } - steps { - container(name: 'kaniko', shell: '/busybox/sh') { - script { - sh '''#!/busybox/sh - /kaniko/executor --verbosity debug --dockerfile `pwd`/Dockerfile \ - --context `pwd` \ - --destination=kalyand14/myimage:${BUILD_NUMBER} - ''' - } - } - } - } + stage('Deploy App to Kubernetes') { steps { container('kubectl') { - withCredentials([file(credentialsId: 'mykubeconfig', variable: 'KUBECONFIG')]) { - sh 'sed -i "s//${BUILD_NUMBER}/" deployment.yaml' + withCredentials([file(credentialsId: 'mykubeconfig', variable: 'KUBECONFIG')]) { sh 'kubectl apply -f deployment.yaml' } } From 3abfb8bf25d1ebc916eb83736e91bade37dde06d Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sun, 26 Jun 2022 20:27:34 +0530 Subject: [PATCH 22/27] Update deployment.yaml --- deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment.yaml b/deployment.yaml index a0953ecf9..32fc6b696 100644 --- a/deployment.yaml +++ b/deployment.yaml @@ -21,7 +21,7 @@ spec: spec: containers: - name: app - image: kalyand14/myimage: + image: kalyand14/myimage:21 imagePullPolicy: Always --- From 6a5fe28b7170650fd5d51ffee6d68b3f2acd8831 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Sun, 26 Jun 2022 22:59:49 +0530 Subject: [PATCH 23/27] Update deployment.yaml --- deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment.yaml b/deployment.yaml index 32fc6b696..9d36c7531 100644 --- a/deployment.yaml +++ b/deployment.yaml @@ -34,6 +34,6 @@ spec: ports: - port: 8080 targetPort: 8080 - nodePort: 30008 + nodePort: 30009 selector: app: kubeserve From 501ce57b2277fb69391b04c788da2b85713fc019 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Mon, 27 Jun 2022 08:42:58 +0530 Subject: [PATCH 24/27] Update deployment.yaml --- deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment.yaml b/deployment.yaml index 9d36c7531..00f67810b 100644 --- a/deployment.yaml +++ b/deployment.yaml @@ -21,7 +21,7 @@ spec: spec: containers: - name: app - image: kalyand14/myimage:21 + image: kalyand14/myimage: imagePullPolicy: Always --- From 382630d280290a9022c06ad36dc124d2240ef0d0 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Mon, 27 Jun 2022 08:43:19 +0530 Subject: [PATCH 25/27] Update kubejenkinsfile --- kubejenkinsfile | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index 4ca204c09..1050ed7a3 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -7,17 +7,47 @@ pipeline { yamlFile 'builder.yaml' } } - + tools{ + jdk 'myjava' + maven 'mymaven' + } stages { - + stage("Checkout code") { + steps { + checkout scm + } + } + stage("Package") { + steps { + sh "mvn clean package" + } + } + + stage('Kaniko Build & Push Image') { + environment { + PATH = "/busybox:/kaniko:$PATH" + } + steps { + container(name: 'kaniko', shell: '/busybox/sh') { + script { + sh '''#!/busybox/sh + /kaniko/executor --verbosity debug --dockerfile `pwd`/Dockerfile \ + --context `pwd` \ + --destination=kalyand14/myimage:${BUILD_NUMBER} + ''' + } + } + } + } stage('Deploy App to Kubernetes') { steps { container('kubectl') { - withCredentials([file(credentialsId: 'mykubeconfig', variable: 'KUBECONFIG')]) { + withCredentials([file(credentialsId: 'mykubeconfig', variable: 'KUBECONFIG')]) { + sh 'sed -i "s//${BUILD_NUMBER}/" deployment.yaml' sh 'kubectl apply -f deployment.yaml' } } From 1bda133793112caf75de5cbfca5daed65d498459 Mon Sep 17 00:00:00 2001 From: Kalyankumar Dayalamoorthy Date: Mon, 27 Jun 2022 08:57:17 +0530 Subject: [PATCH 26/27] Update kubejenkinsfile --- kubejenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejenkinsfile b/kubejenkinsfile index 1050ed7a3..709a2ae2b 100644 --- a/kubejenkinsfile +++ b/kubejenkinsfile @@ -33,7 +33,7 @@ pipeline { container(name: 'kaniko', shell: '/busybox/sh') { script { sh '''#!/busybox/sh - /kaniko/executor --verbosity debug --dockerfile `pwd`/Dockerfile \ + /kaniko/executor --dockerfile `pwd`/Dockerfile \ --context `pwd` \ --destination=kalyand14/myimage:${BUILD_NUMBER} ''' From 733ae69bc3871dec812f9d1dee9d49a135d63a23 Mon Sep 17 00:00:00 2001 From: kalyankumar Date: Mon, 27 Jun 2022 10:49:25 +0530 Subject: [PATCH 27/27] pushed the content to jenkinsfile --- JenkinsFile1 | 48 ---------------------- Jenkinsfile | 106 ++++++++++++++++++++++++------------------------ kubejenkinsfile | 58 -------------------------- 3 files changed, 52 insertions(+), 160 deletions(-) delete mode 100644 JenkinsFile1 delete mode 100644 kubejenkinsfile diff --git a/JenkinsFile1 b/JenkinsFile1 deleted file mode 100644 index 2733d6494..000000000 --- a/JenkinsFile1 +++ /dev/null @@ -1,48 +0,0 @@ -new commit pipeline{ - new chnage for commit tools{ - jdk 'myjava' - maven 'mymaven131' - } - //commit on github-- new one - agent any - new ctsage added - stages{ - stage('Checkout on git'){ - agent any - steps{ - git 'https://github.com/devops-trainer/DevOpsClassCodes.git' - } - } - stage('Compile'){ - agent any - steps{ - sh 'mvn compile' - } - } - stage('CodeReview'){ - agent any - steps{ - sh 'mvn pmd:pmd' - } - } - stage('UnitTest'){ - agent {label 'win_slave'} - steps{ - git 'https://github.com/devops-trainer/DevOpsClassCodes.git' - bat 'mvn test' - } - } - stage('MetricCheck'){ - agent any - steps{ - sh 'mvn cobertura:cobertura -Dcobertura.report.format=xml' - } - } - stage('Package'){ - agent{label 'win_slave'} - steps{ - bat 'mvn package' - } - } - } -} diff --git a/Jenkinsfile b/Jenkinsfile index 5ebf9def9..709a2ae2b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,60 +1,58 @@ +pipeline { + options { + ansiColor('xterm') + } + agent { + kubernetes { + yamlFile 'builder.yaml' + } + } + tools{ + jdk 'myjava' + maven 'mymaven' + } + + stages { -pipeline{ - tools{ - jdk 'myjava' - maven 'mymaven' + stage("Checkout code") { + steps { + checkout scm + } } - agent any - stages{ - stage('Checkout'){ - - steps{ - echo 'cloning..' - git 'https://github.com/Sonal0409/DevOpsClassCodes.git' - } - } - stage('Compile'){ - - steps{ - echo 'compiling..' - sh 'mvn compile' - } - } - stage('CodeReview'){ - - steps{ - - echo 'codeReview' - sh 'mvn pmd:pmd' - } - } - stage('UnitTest'){ - - steps{ - echo 'Testing' - sh 'mvn test' - } - post { - success { - junit 'target/surefire-reports/*.xml' - } - } - } - stage('MetricCheck'){ - - steps{ - sh 'mvn cobertura:cobertura -Dcobertura.report.format=xml' - } - + stage("Package") { + steps { + sh "mvn clean package" + } + } + + stage('Kaniko Build & Push Image') { + environment { + PATH = "/busybox:/kaniko:$PATH" + } + steps { + container(name: 'kaniko', shell: '/busybox/sh') { + script { + sh '''#!/busybox/sh + /kaniko/executor --dockerfile `pwd`/Dockerfile \ + --context `pwd` \ + --destination=kalyand14/myimage:${BUILD_NUMBER} + ''' } - stage('Package'){ - - steps{ - - sh 'mvn package' - } + } + } + } + + + stage('Deploy App to Kubernetes') { + steps { + container('kubectl') { + withCredentials([file(credentialsId: 'mykubeconfig', variable: 'KUBECONFIG')]) { + sh 'sed -i "s//${BUILD_NUMBER}/" deployment.yaml' + sh 'kubectl apply -f deployment.yaml' } - - + } } + } + + } } diff --git a/kubejenkinsfile b/kubejenkinsfile deleted file mode 100644 index 709a2ae2b..000000000 --- a/kubejenkinsfile +++ /dev/null @@ -1,58 +0,0 @@ -pipeline { - options { - ansiColor('xterm') - } - agent { - kubernetes { - yamlFile 'builder.yaml' - } - } - tools{ - jdk 'myjava' - maven 'mymaven' - } - - stages { - - stage("Checkout code") { - steps { - checkout scm - } - } - stage("Package") { - steps { - sh "mvn clean package" - } - } - - stage('Kaniko Build & Push Image') { - environment { - PATH = "/busybox:/kaniko:$PATH" - } - steps { - container(name: 'kaniko', shell: '/busybox/sh') { - script { - sh '''#!/busybox/sh - /kaniko/executor --dockerfile `pwd`/Dockerfile \ - --context `pwd` \ - --destination=kalyand14/myimage:${BUILD_NUMBER} - ''' - } - } - } - } - - - stage('Deploy App to Kubernetes') { - steps { - container('kubectl') { - withCredentials([file(credentialsId: 'mykubeconfig', variable: 'KUBECONFIG')]) { - sh 'sed -i "s//${BUILD_NUMBER}/" deployment.yaml' - sh 'kubectl apply -f deployment.yaml' - } - } - } - } - - } -}