From 0d30e714cb93987bb4fdcb7b06bed1db6e29e45e Mon Sep 17 00:00:00 2001
From: Ubuntu
Date: Sat, 10 May 2025 09:00:04 +0000
Subject: [PATCH 01/18] Update Dockerfile
---
Dockerfile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index b571261..b5cd7a5 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -4,7 +4,7 @@
FROM node:18-alpine AS builder
# Add metadata for authorship and app identification
-LABEL maintainer="Amitabh Soni " \
+LABEL maintainer="Shubham Tayde " \
app="gemini" \
stage="build"
@@ -27,7 +27,7 @@ RUN rm -rf node_modules && npm cache clean --force
FROM node:18-alpine AS production
# Add metadata for the final image
-LABEL maintainer="Amitabh Soni " \
+LABEL maintainer="Shubham Tayde " \
app="gemini" \
stage="production"
@@ -47,4 +47,4 @@ ENV NODE_ENV=production
EXPOSE 3000
-CMD ["npm", "start"]
\ No newline at end of file
+CMD ["npm", "start"]
From 58bae8ba320ed43c7cae0c4c6343f8f1147708fb Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sat, 10 May 2025 14:43:27 +0530
Subject: [PATCH 02/18] Update Jenkinsfile
---
GitOps/Jenkinsfile | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/GitOps/Jenkinsfile b/GitOps/Jenkinsfile
index d743d8f..bd58d5a 100644
--- a/GitOps/Jenkinsfile
+++ b/GitOps/Jenkinsfile
@@ -1,7 +1,7 @@
@Library('Shared')_
pipeline {
- agent { label 'dev-server' }
+ agent any
parameters {
string(name: 'GEMINI_DOCKER_TAG', defaultValue: 'v1', description: 'Docker tag for gemini image')
@@ -16,7 +16,7 @@ pipeline {
stage("Git: Code Checkout") {
steps {
- clone("https://github.com/Amitabh-DevOps/dev-gemini-clone.git", "DevOps")
+ clone("https://github.com/AWS-DevOps-shubh/dev-gemini-clone.git", "dev-shubh")
}
}
@@ -29,7 +29,7 @@ pipeline {
stage("Update: Kubernetes Manifest") {
steps {
dir('kubernetes') {
- sh "sed -i 's|amitabhdevops/geminiamit.*|amitabhdevops/geminiamit:${params.GEMINI_DOCKER_TAG}|' gemini-deployment.yml"
+ sh "sed -i 's|devshubh2204/geminishubham.*|devshubh2204/geminishubham:${params.GEMINI_DOCKER_TAG}|' gemini-deployment.yml"
}
}
}
@@ -48,7 +48,7 @@ pipeline {
git commit -m "Update gemini image to ${GEMINI_DOCKER_TAG}"
echo "Pushing changes to github: "
- git push https://github.com/Amitabh-DevOps/dev-gemini-clone.git DevOps
+ git push https://github.com/AWS-DevOps-shubh/dev-gemini-clone.git dev-shubh
'''
}
}
@@ -106,7 +106,7 @@ pipeline {
""",
- to: "amitabhdevops2024@gmail.com",
+ to: "shubhamtayde2409@gmail.com",
from: "jenkins@example.com",
mimeType: 'text/html'
)
@@ -158,7 +158,7 @@ pipeline {
""",
- to: "amitabhdevops2024@gmail.com",
+ to: "shubhamtayde2409@gmail.com",
from: "jenkins@example.com",
mimeType: 'text/html'
)
@@ -167,4 +167,4 @@ pipeline {
cleanWs()
}
}
-}
\ No newline at end of file
+}
From 193d208e3950a951cec591c1c41c692f69581f91 Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sat, 10 May 2025 15:23:11 +0530
Subject: [PATCH 03/18] Update secrets.yml
---
kubernetes/secrets.yml | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/kubernetes/secrets.yml b/kubernetes/secrets.yml
index c3aa90d..985250d 100644
--- a/kubernetes/secrets.yml
+++ b/kubernetes/secrets.yml
@@ -5,8 +5,9 @@ metadata:
namespace: gemini-namespace
type: Opaque
data:
- GOOGLE_ID: # Enter your Google ID here in base64 encoded format
- GOOGLE_SECRET: # Enter your Google secret here in base64 encoded format
- NEXTAUTH_SECRET: # Enter your NextAuth secret here in base64 encoded format
- NEXT_PUBLIC_API_KEY: # Enter your API key here in base64 encoded format
- MONGODB_URI: # Enter your MongoDB URI here in base64 encoded format
\ No newline at end of file
+ GOOGLE_ID: MTAzMzg0MzU1OTMwLWhpZnBta2VhMGo2Z2Z1dm5lZmtwdnJhcTFqdW5vYXVmLmFwcHMuZ29vZ2xl
+dXNlcmNvbnRlbnQuY29t # Enter your Google ID here in base64 encoded format
+ GOOGLE_SECRET: R09DU1BYLU9GZ3ZxaWo3X1JXbWZYOTRYOS13UUJnUnZ4bTk= # Enter your Google secret here in base64 encoded format
+ NEXTAUTH_SECRET: Qb8YA4ruozWvRotNqdC3thIjkjNkAkPuGGtAWy1etLQ= # Enter your NextAuth secret here in base64 encoded format
+ NEXT_PUBLIC_API_KEY: QUl6YVN5QldaYUEwUEtqZ1o3cF9FOC1aX1NwMld6WF9ldi1LeGM0 # Enter your API key here in base64 encoded format
+ MONGODB_URI: # Enter your MongoDB URI here in base64 encoded format
From 0ef98906d76feb8291073e3197ff54f84f86a94e Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sat, 10 May 2025 15:50:59 +0530
Subject: [PATCH 04/18] Update secrets.yml
---
kubernetes/secrets.yml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/kubernetes/secrets.yml b/kubernetes/secrets.yml
index 985250d..ed70682 100644
--- a/kubernetes/secrets.yml
+++ b/kubernetes/secrets.yml
@@ -5,9 +5,7 @@ metadata:
namespace: gemini-namespace
type: Opaque
data:
- GOOGLE_ID: MTAzMzg0MzU1OTMwLWhpZnBta2VhMGo2Z2Z1dm5lZmtwdnJhcTFqdW5vYXVmLmFwcHMuZ29vZ2xl
-dXNlcmNvbnRlbnQuY29t # Enter your Google ID here in base64 encoded format
GOOGLE_SECRET: R09DU1BYLU9GZ3ZxaWo3X1JXbWZYOTRYOS13UUJnUnZ4bTk= # Enter your Google secret here in base64 encoded format
NEXTAUTH_SECRET: Qb8YA4ruozWvRotNqdC3thIjkjNkAkPuGGtAWy1etLQ= # Enter your NextAuth secret here in base64 encoded format
NEXT_PUBLIC_API_KEY: QUl6YVN5QldaYUEwUEtqZ1o3cF9FOC1aX1NwMld6WF9ldi1LeGM0 # Enter your API key here in base64 encoded format
- MONGODB_URI: # Enter your MongoDB URI here in base64 encoded format
+ MONGODB_URI: c2h1YmhhbUAxMjM0 # Enter your MongoDB URI here in base64 encoded format
From 7b15cba184b2640c83d8d6a3cfcd6355c186d94e Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sat, 10 May 2025 15:54:39 +0530
Subject: [PATCH 05/18] Update configmap.yml
---
kubernetes/configmap.yml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/kubernetes/configmap.yml b/kubernetes/configmap.yml
index 9bb4d78..23a692b 100644
--- a/kubernetes/configmap.yml
+++ b/kubernetes/configmap.yml
@@ -4,4 +4,7 @@ metadata:
name: gemini-config
namespace: gemini-namespace
data:
- NEXTAUTH_URL: # Enter your NextAuth URL here(Domain name/URL)
\ No newline at end of file
+ GOOGLE_ID: 103384355930-hifpmkea0j6gfuvnefkpvraq1junoauf.apps.googleusercontent.com
+ MONGODB_URI: mongodb://mongodb-service:27017/gemini
+ NEXTAUTH_URL: https://34.245.131.128.nip.io
+ MONGO_INITDB_ROOT_USERNAME: admin
From 0b61366a187eae8bcfe42a9f9230c9d965374634 Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sat, 10 May 2025 16:45:16 +0530
Subject: [PATCH 06/18] Update secrets.yml
---
kubernetes/secrets.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/kubernetes/secrets.yml b/kubernetes/secrets.yml
index ed70682..9a39e26 100644
--- a/kubernetes/secrets.yml
+++ b/kubernetes/secrets.yml
@@ -5,7 +5,7 @@ metadata:
namespace: gemini-namespace
type: Opaque
data:
- GOOGLE_SECRET: R09DU1BYLU9GZ3ZxaWo3X1JXbWZYOTRYOS13UUJnUnZ4bTk= # Enter your Google secret here in base64 encoded format
- NEXTAUTH_SECRET: Qb8YA4ruozWvRotNqdC3thIjkjNkAkPuGGtAWy1etLQ= # Enter your NextAuth secret here in base64 encoded format
- NEXT_PUBLIC_API_KEY: QUl6YVN5QldaYUEwUEtqZ1o3cF9FOC1aX1NwMld6WF9ldi1LeGM0 # Enter your API key here in base64 encoded format
+ GOOGLE_SECRET: R09DU1BYLUNIbVN1Zk04U3lsUDlRNlRhazhKa1pvNVpOUzQ= # Enter your Google secret here in base64 encoded format
+ NEXTAUTH_SECRET: 7mkoYHM3xl2QZZVMrzvT+gkSIxWUgbhNNkVc2nxkk2g= # Enter your NextAuth secret here in base64 encoded format
+ NEXT_PUBLIC_API_KEY: QUl6YVN5RFRxSUxCRktZUjEzX2tkRkNrY0MwUmY0ODZ3c3QyQUww # Enter your API key here in base64 encoded format
MONGODB_URI: c2h1YmhhbUAxMjM0 # Enter your MongoDB URI here in base64 encoded format
From 5fd081f12f873b89d1c59d15dc8c3c7a5b218547 Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sat, 10 May 2025 16:46:25 +0530
Subject: [PATCH 07/18] Update configmap.yml
---
kubernetes/configmap.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kubernetes/configmap.yml b/kubernetes/configmap.yml
index 23a692b..31eac25 100644
--- a/kubernetes/configmap.yml
+++ b/kubernetes/configmap.yml
@@ -4,7 +4,7 @@ metadata:
name: gemini-config
namespace: gemini-namespace
data:
- GOOGLE_ID: 103384355930-hifpmkea0j6gfuvnefkpvraq1junoauf.apps.googleusercontent.com
+ GOOGLE_ID: 103384355930-9umr0lckbbq19kg26e2pmiaausekm45d.apps.googleusercontent.com
MONGODB_URI: mongodb://mongodb-service:27017/gemini
- NEXTAUTH_URL: https://34.245.131.128.nip.io
+ NEXTAUTH_URL: https://3.250.193.188.nip.io
MONGO_INITDB_ROOT_USERNAME: admin
From 94229867b255050847e4bfdffc4b1d555763855b Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sat, 10 May 2025 16:48:22 +0530
Subject: [PATCH 08/18] Update secrets.yml
---
kubernetes/secrets.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kubernetes/secrets.yml b/kubernetes/secrets.yml
index 9a39e26..bc1dde5 100644
--- a/kubernetes/secrets.yml
+++ b/kubernetes/secrets.yml
@@ -8,4 +8,4 @@ data:
GOOGLE_SECRET: R09DU1BYLUNIbVN1Zk04U3lsUDlRNlRhazhKa1pvNVpOUzQ= # Enter your Google secret here in base64 encoded format
NEXTAUTH_SECRET: 7mkoYHM3xl2QZZVMrzvT+gkSIxWUgbhNNkVc2nxkk2g= # Enter your NextAuth secret here in base64 encoded format
NEXT_PUBLIC_API_KEY: QUl6YVN5RFRxSUxCRktZUjEzX2tkRkNrY0MwUmY0ODZ3c3QyQUww # Enter your API key here in base64 encoded format
- MONGODB_URI: c2h1YmhhbUAxMjM0 # Enter your MongoDB URI here in base64 encoded format
+ MONGO_INITDB_ROOT_PASSWORD: c2h1YmhhbUAxMjM0
From f9774e32035711c48f44c4bb83b66778ccd7aa4f Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sat, 10 May 2025 21:22:53 +0530
Subject: [PATCH 09/18] Update configmap.yml
---
kubernetes/configmap.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kubernetes/configmap.yml b/kubernetes/configmap.yml
index 31eac25..7a0d468 100644
--- a/kubernetes/configmap.yml
+++ b/kubernetes/configmap.yml
@@ -4,7 +4,7 @@ metadata:
name: gemini-config
namespace: gemini-namespace
data:
- GOOGLE_ID: 103384355930-9umr0lckbbq19kg26e2pmiaausekm45d.apps.googleusercontent.com
+ GOOGLE_ID: 103384355930-outj5vptfg6lf5jc4kcfklhfa1sljuum.apps.googleusercontent.com
MONGODB_URI: mongodb://mongodb-service:27017/gemini
- NEXTAUTH_URL: https://3.250.193.188.nip.io
+ NEXTAUTH_URL: https://34.251.105.234.nip.io
MONGO_INITDB_ROOT_USERNAME: admin
From 065f1d1d3fac47977edea099eccd906e94fc050f Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sat, 10 May 2025 21:34:28 +0530
Subject: [PATCH 10/18] Update secrets.yml
---
kubernetes/secrets.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/kubernetes/secrets.yml b/kubernetes/secrets.yml
index bc1dde5..f3ad9f0 100644
--- a/kubernetes/secrets.yml
+++ b/kubernetes/secrets.yml
@@ -5,7 +5,7 @@ metadata:
namespace: gemini-namespace
type: Opaque
data:
- GOOGLE_SECRET: R09DU1BYLUNIbVN1Zk04U3lsUDlRNlRhazhKa1pvNVpOUzQ= # Enter your Google secret here in base64 encoded format
- NEXTAUTH_SECRET: 7mkoYHM3xl2QZZVMrzvT+gkSIxWUgbhNNkVc2nxkk2g= # Enter your NextAuth secret here in base64 encoded format
- NEXT_PUBLIC_API_KEY: QUl6YVN5RFRxSUxCRktZUjEzX2tkRkNrY0MwUmY0ODZ3c3QyQUww # Enter your API key here in base64 encoded format
+ GOOGLE_SECRET: R09DU1BYLXhtMGNvLUZFbEtuV0JhYzgybVpQUzVqUG9ZdFc= # Enter your Google secret here in base64 encoded format
+ NEXTAUTH_SECRET: p2aQyMyvv4EQifX4i3GkAYRypTszDHxHE0aZr8GiHzg # Enter your NextAuth secret here in base64 encoded format
+ NEXT_PUBLIC_API_KEY: QUl6YVN5QmFqRG83LU9wNVB4UHRJQWVHbS1POVZOMVpxWktONzNV # Enter your API key here in base64 encoded format
MONGO_INITDB_ROOT_PASSWORD: c2h1YmhhbUAxMjM0
From 7af1074d92e72c9fc010650409d4e52416b8cea0 Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sat, 10 May 2025 22:37:04 +0530
Subject: [PATCH 11/18] Update gemini-ingress.yml
---
kubernetes/gemini-ingress.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/kubernetes/gemini-ingress.yml b/kubernetes/gemini-ingress.yml
index 5e8fefb..adcd99a 100644
--- a/kubernetes/gemini-ingress.yml
+++ b/kubernetes/gemini-ingress.yml
@@ -11,11 +11,11 @@ metadata:
spec:
tls:
- hosts:
- - geminiamitabh.letsdeployit.com
+ - geminishubh.34.251.105.234.nip.io
secretName: gemini-tls-secret
ingressClassName: nginx
rules:
- - host: "geminiamitabh.letsdeployit.com"
+ - host: "geminishubh.34.251.105.234.nip.io"
http:
paths:
- path: /
@@ -31,4 +31,4 @@ spec:
service:
name: nginx-service
port:
- number: 80
\ No newline at end of file
+ number: 80
From 59f940b1da209a3d470ab8cf8abd81a8c9b2642d Mon Sep 17 00:00:00 2001
From: AWS-DevOps-shubh
Date: Sat, 10 May 2025 17:51:03 +0000
Subject: [PATCH 12/18] Update image tags to 16 and ensure correct domain [ci
skip]
---
kubernetes/gemini-ingress.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kubernetes/gemini-ingress.yml b/kubernetes/gemini-ingress.yml
index adcd99a..72a1bd1 100644
--- a/kubernetes/gemini-ingress.yml
+++ b/kubernetes/gemini-ingress.yml
@@ -15,7 +15,7 @@ spec:
secretName: gemini-tls-secret
ingressClassName: nginx
rules:
- - host: "geminishubh.34.251.105.234.nip.io"
+ - host: geminishubh.34.251.105.234.nip.io
http:
paths:
- path: /
From cca367a9fdaab753461f60394b8abbbf447f8e55 Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sat, 10 May 2025 23:46:15 +0530
Subject: [PATCH 13/18] Update gemini-deployment.yml
---
kubernetes/gemini-deployment.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kubernetes/gemini-deployment.yml b/kubernetes/gemini-deployment.yml
index c6c9a7f..8f626f7 100644
--- a/kubernetes/gemini-deployment.yml
+++ b/kubernetes/gemini-deployment.yml
@@ -17,7 +17,7 @@ spec:
spec:
containers:
- name: gemini
- image: amitabhdevops/geminiprod:v1
+ image: devshubh2204/geminiclonenip:latest
ports:
- containerPort: 3000
resources:
@@ -57,4 +57,4 @@ spec:
valueFrom:
secretKeyRef:
name: gemini-secret
- key: NEXT_PUBLIC_API_KEY
\ No newline at end of file
+ key: NEXT_PUBLIC_API_KEY
From 748c8f8bcbbb911c7b50ae6eafeb9c23e255898d Mon Sep 17 00:00:00 2001
From: AWS-DevOps-shubh
Date: Sat, 10 May 2025 18:19:21 +0000
Subject: [PATCH 14/18] Update image tags to 20 and ensure correct domain [ci
skip]
---
kubernetes/gemini-deployment.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kubernetes/gemini-deployment.yml b/kubernetes/gemini-deployment.yml
index 8f626f7..7c9692b 100644
--- a/kubernetes/gemini-deployment.yml
+++ b/kubernetes/gemini-deployment.yml
@@ -17,7 +17,7 @@ spec:
spec:
containers:
- name: gemini
- image: devshubh2204/geminiclonenip:latest
+ image: devshubh2204/geminiclonenip:20
ports:
- containerPort: 3000
resources:
From 0a4d7d9c2ba0d8f1802aab08019d956f2e22f6b3 Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sun, 11 May 2025 00:44:21 +0530
Subject: [PATCH 15/18] Update cert-issuer.yml
---
kubernetes/cert-issuer.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kubernetes/cert-issuer.yml b/kubernetes/cert-issuer.yml
index 9a82d4f..beb19c4 100644
--- a/kubernetes/cert-issuer.yml
+++ b/kubernetes/cert-issuer.yml
@@ -8,7 +8,7 @@ spec:
# The ACME server URL
server: https://acme-v02.api.letsencrypt.org/directory
# Email address used for ACME registration
- email: # Replace with your email address
+ email: devshubh2204@gmail.com # Replace with your email address
# Name of a secret used to store the ACME account private key
privateKeySecretRef:
name: letsencrypt-prod-key
@@ -18,4 +18,4 @@ spec:
ingress:
class: nginx
-
\ No newline at end of file
+
From eb47553c620665c596eedc7c8f4d9a6d1d26d318 Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sun, 11 May 2025 01:07:41 +0530
Subject: [PATCH 16/18] Update secrets.yml
---
kubernetes/secrets.yml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/kubernetes/secrets.yml b/kubernetes/secrets.yml
index f3ad9f0..6d56d03 100644
--- a/kubernetes/secrets.yml
+++ b/kubernetes/secrets.yml
@@ -5,7 +5,7 @@ metadata:
namespace: gemini-namespace
type: Opaque
data:
- GOOGLE_SECRET: R09DU1BYLXhtMGNvLUZFbEtuV0JhYzgybVpQUzVqUG9ZdFc= # Enter your Google secret here in base64 encoded format
- NEXTAUTH_SECRET: p2aQyMyvv4EQifX4i3GkAYRypTszDHxHE0aZr8GiHzg # Enter your NextAuth secret here in base64 encoded format
- NEXT_PUBLIC_API_KEY: QUl6YVN5QmFqRG83LU9wNVB4UHRJQWVHbS1POVZOMVpxWktONzNV # Enter your API key here in base64 encoded format
- MONGO_INITDB_ROOT_PASSWORD: c2h1YmhhbUAxMjM0
+ GOOGLE_SECRET:R09DU1BYLXhtMGNvLUZFbEtuV0JhYzgybVpQUzVqUG9ZdFc=
+ NEXTAUTH_SECRET:p2aQyMyvv4EQifX4i3GkAYRypTszDHxHE0aZr8GiHzg # Enter your NextAuth secret here in base64 encoded format
+ NEXT_PUBLIC_API_KEY:QUl6YVN5QmFqRG83LU9wNVB4UHRJQWVHbS1POVZOMVpxWktONzNV # Enter your API key here in base64 encoded format
+ MONGO_INITDB_ROOT_PASSWORD:c2h1YmhhbUAxMjM0
From a4da3f42cbb21107e9a22c6c3bf5144ca11d6687 Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sun, 11 May 2025 01:10:16 +0530
Subject: [PATCH 17/18] Update configmap.yml
---
kubernetes/configmap.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kubernetes/configmap.yml b/kubernetes/configmap.yml
index 7a0d468..d4986b7 100644
--- a/kubernetes/configmap.yml
+++ b/kubernetes/configmap.yml
@@ -7,4 +7,4 @@ data:
GOOGLE_ID: 103384355930-outj5vptfg6lf5jc4kcfklhfa1sljuum.apps.googleusercontent.com
MONGODB_URI: mongodb://mongodb-service:27017/gemini
NEXTAUTH_URL: https://34.251.105.234.nip.io
- MONGO_INITDB_ROOT_USERNAME: admin
+ MONGO_INITDB_ROOT_USERNAME: YWRtaW4=
From 79eea28f37c3814fee8d9fe7b1dc8721e0b547b2 Mon Sep 17 00:00:00 2001
From: Shubham Tayde
Date: Sun, 11 May 2025 01:12:10 +0530
Subject: [PATCH 18/18] Update Jenkinsfile
---
Jenkinsfile | 221 ++++++++++++++--------------------------------------
1 file changed, 59 insertions(+), 162 deletions(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index 038c483..21b1f15 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,184 +1,81 @@
-@Library('Shared')_
+@Library('shared') _
pipeline {
- agent { label 'dev-server' }
-
+ agent any
+
environment {
- SONAR_HOME = tool "Sonar"
- DOCKER_IMAGE = "geminiamit"
- GIT_REPO = "https://github.com/Amitabh-DevOps/dev-gemini-clone.git"
- GIT_BRANCH = "DevOps"
- DOCKERHUB_USERNAME = "amitabhdevops"
- DOCKER_IMAGE_NAME = "${DOCKERHUB_USERNAME}/${DOCKER_IMAGE}"
- }
- parameters {
- string(name: 'GEMINI_DOCKER_TAG', defaultValue: 'v1', description: 'Setting docker image for latest push')
+ DOCKER_IMAGE_NAME = 'devshubh2204/geminiclonenip'
+ DOCKER_IMAGE_TAG = "${BUILD_NUMBER}"
+ GITHUB_CREDENTIALS = credentials('git-hub-cred')
+ GIT_BRANCH = "dev-shubh"
}
+
stages {
- stage("Clean Workspace") {
- steps {
- cleanWs()
- }
- }
- stage("Code") {
- steps {
- // Use GIT_REPO and GIT_BRANCH from environment variables
- clone("${GIT_REPO}", "${GIT_BRANCH}")
- echo "Code cloning done from ${GIT_REPO} branch ${GIT_BRANCH}."
- }
- }
- stage("Prepare Environment File") {
- steps {
- prepareEnvFile('.env.local', '.env.local')
- }
- }
- stage("Build") {
- steps {
- dockerbuild("${DOCKER_IMAGE}", "${params.GEMINI_DOCKER_TAG}")
- echo "Docker image ${DOCKER_IMAGE}:${params.GEMINI_DOCKER_TAG} built successfully."
- }
- }
- stage("SonarQube Quality Analysis") {
- steps {
- sonarqube_analysis('Sonar', "${DOCKER_IMAGE}", "${DOCKER_IMAGE}")
- }
- }
- stage("OWASP : Dependency Check") {
+ stage('Cleanup Workspace') {
steps {
- owasp_dependency()
+ script {
+ clean_ws()
+ }
}
}
- stage("Sonar Quality Gate Scan") {
+
+ stage('Clone Repository') {
steps {
- sonarqube_code_quality()
+ script {
+ clone("https://github.com/AWS-DevOps-shubh/dev-gemini-clone.git", "dev-shubh")
+ }
}
}
- stage("Docker Image Security Scan (Trivy)") {
- steps {
- dockerScanTrivy("${DOCKER_IMAGE}", "${params.GEMINI_DOCKER_TAG}")
- echo "Trivy scan completed for ${DOCKER_IMAGE}:${params.GEMINI_DOCKER_TAG}."
+
+ stage('Build and Scan Docker Image') {
+ parallel {
+ stage('Build Main App Image') {
+ steps {
+ script {
+ docker_build(
+ imageName: env.DOCKER_IMAGE_NAME,
+ imageTag: env.DOCKER_IMAGE_TAG,
+ dockerfile: 'Dockerfile',
+ context: '.'
+ )
+ }
+ }
+ }
+
+ stage('Security Scan with Trivy') {
+ steps {
+ script {
+ trivy()
+ }
+ }
+ }
}
}
- stage("Push to DockerHub") {
+
+ stage('Push Docker Images') {
steps {
- dockerpush("dockerHub", "${DOCKER_IMAGE}", "${params.GEMINI_DOCKER_TAG}")
- echo "Pushed ${DOCKERHUB_USERNAME}/${DOCKER_IMAGE}:${params.GEMINI_DOCKER_TAG} to DockerHub."
+ script {
+ docker_push(
+ imageName: env.DOCKER_IMAGE_NAME,
+ imageTag: env.DOCKER_IMAGE_TAG,
+ credentials: 'docker-hub-cred'
+ )
+ }
}
}
- // Uncommented and updated the "Run Container" stage to use environment variables
- // stage("Run Container") {
- // steps {
- // dockerRunApp("${DOCKER_IMAGE}", "${params.GEMINI_DOCKER_TAG}", "env_local", "${DOCKER_IMAGE}", "--env-file .env.local -p 3000:3000")
- // echo "Container started using ${DOCKER_IMAGE}:${DOCKER_TAG} with container name '${DOCKER_IMAGE}'."
- // }
- // }
- stage("Cleanup Docker Images") {
+
+ stage('Update Kubernetes Manifests') {
steps {
script {
- sh "docker rmi ${DOCKER_IMAGE}:${params.GEMINI_DOCKER_TAG} || true"
- sh "docker rmi ${DOCKERHUB_USERNAME}/${DOCKER_IMAGE}:${params.GEMINI_DOCKER_TAG} || true"
- sh "docker image prune -f"
+ updatek8s(
+ imageTag: env.DOCKER_IMAGE_TAG,
+ manifestsPath: 'kubernetes',
+ gitCredentials: 'git-hub-cred',
+ gitUserName: 'AWS-DevOps-shubh',
+ gitUserEmail: 'devshubh2204@gmail.com',
+ )
}
- echo "Cleaned up Docker image: ${DOCKERHUB_USERNAME}/${DOCKER_IMAGE}:${params.GEMINI_DOCKER_TAG}."
}
}
}
- post {
- success {
- archiveArtifacts artifacts: 'kubernetes/gemini-deployment.yml', followSymlinks: false
- build job: "Gemini-CD", parameters: [
- string(name: 'GEMINI_DOCKER_TAG', value: "${params.GEMINI_DOCKER_TAG}")
- ]
- echo "Pipeline completed successfully!"
- emailext (
- subject: "SUCCESS: Jenkins Pipeline for ${DOCKER_IMAGE}",
- body: """
-
-
🎉 Pipeline Execution: SUCCESS 🎉
-
- Hello Team,
-
-
- The Jenkins CI pipeline for ${DOCKER_IMAGE} completed successfully!
-
-
-
- | Details |
- Values |
-
-
- | Git Repository |
- ${GIT_REPO} |
-
-
- | Branch |
- ${GIT_BRANCH} |
-
-
- | Docker Image |
- ${DOCKERHUB_USERNAME}/${DOCKER_IMAGE}:${params.GEMINI_DOCKER_TAG} |
-
-
-
- Visit Pipeline Logs for more details.
-
-
- Thanks,
- Jenkins
-
-
- """,
- to: "amitabhdevops2024@gmail.com",
- from: "jenkins@example.com",
- mimeType: 'text/html',
- attachmentsPattern: '**/table-report.html'
- )
- }
- failure {
- echo "Pipeline failed. Please check the logs."
- emailext (
- subject: "FAILURE: Jenkins Pipeline for ${DOCKER_IMAGE}",
- body: """
-
-
🚨 Pipeline Execution: FAILURE 🚨
-
- Hello Team,
-
-
- Unfortunately, the Jenkins CI pipeline for ${DOCKER_IMAGE} has failed.
-
-
-
- | Details |
- Values |
-
-
- | Git Repository |
- ${GIT_REPO} |
-
-
- | Branch |
- ${GIT_BRANCH} |
-
-
- | Docker Image |
- ${DOCKERHUB_USERNAME}/${DOCKER_IMAGE}:${params.GEMINI_DOCKER_TAG} |
-
-
-
- Visit Pipeline Logs for more details.
-
-
- Thanks,
- Jenkins
-
-
- """,
- to: "amitabhdevops2024@gmail.com",
- from: "jenkins@example.com",
- mimeType: 'text/html',
- attachmentsPattern: '**/table-report.html'
- )
- }
- }
-}
\ No newline at end of file
+}