From 6ca2b19ad185763bc4ac404830f2710ce02dbb1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Tue, 24 Aug 2021 22:36:06 -0300 Subject: [PATCH 01/14] Change docker image --- Jenkinsfile | 2 +- myweb.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b82d758..07e4e33 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -19,7 +19,7 @@ pipeline { sh ''' /kaniko/executor --dockerfile `pwd`/Dockerfile \ --context `pwd` \ - --destination=justmeandopensource/myweb:${BUILD_NUMBER} + --destination=cams7/myweb:${BUILD_NUMBER} ''' } } diff --git a/myweb.yaml b/myweb.yaml index 95bd58b..7289a53 100644 --- a/myweb.yaml +++ b/myweb.yaml @@ -23,7 +23,7 @@ spec: app: myweb spec: containers: - - image: justmeandopensource/myweb: + - image: cams7/myweb: imagePullPolicy: Always name: myweb From d0408d64e999dce7c816436bd5a470a2a85375a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Tue, 24 Aug 2021 22:55:46 -0300 Subject: [PATCH 02/14] Update app version --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 4ccd9f8..5db1c58 100644 --- a/index.html +++ b/index.html @@ -1,6 +1,6 @@

Welcome to Just Me and OpenSource

-

v2.0

+

v2.1



Demo of Jenkins CI/CD Pipeline in Kubernetes 2021

From 16f2b3490f66a4258f839252a47eee88e6cc4234 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Fri, 27 Aug 2021 19:55:40 -0300 Subject: [PATCH 03/14] =?UTF-8?q?Foi=20incluida=20a=20rota=20da=20aplica?= =?UTF-8?q?=C3=A7=C3=A3o=20myweb=20no=20traefik?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- myweb.yaml | 75 ++++++++++++++++++++++++++++++++++++++++++++++----- tlsroute.yaml | 15 +++++++++++ 2 files changed, 84 insertions(+), 6 deletions(-) create mode 100644 tlsroute.yaml diff --git a/myweb.yaml b/myweb.yaml index 7289a53..37e6fd8 100644 --- a/myweb.yaml +++ b/myweb.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Namespace metadata: - name: pipeline-demo + name: demo210827 --- apiVersion: apps/v1 @@ -11,9 +11,9 @@ metadata: labels: app: myweb name: myweb - namespace: pipeline-demo + namespace: demo210827 spec: - replicas: 1 + replicas: 3 selector: matchLabels: app: myweb @@ -34,13 +34,76 @@ metadata: labels: app: myweb name: myweb - namespace: pipeline-demo + namespace: demo210827 spec: ports: - - nodePort: 32223 + - name: http port: 80 protocol: TCP targetPort: 80 selector: app: myweb - type: NodePort + type: ClusterIP + +--- +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: myweb-redirect-scheme + namespace: demo210827 +spec: + redirectScheme: + scheme: https + permanent: true + port: "443" + +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: myweb-strip-path-prefix + namespace: demo210827 +spec: + stripPrefix: + prefixes: + - /myweb + +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: myweb-http + namespace: demo210827 +spec: + entryPoints: + - web + routes: + - match: Host(`dev.cams7.ml`) + kind: Rule + middlewares: + - name: myweb-redirect-scheme + services: + - name: myweb + port: 80 + +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: myweb-https + namespace: demo210827 +spec: + entryPoints: + - websecure + routes: + - match: Host(`dev.cams7.ml`) && PathPrefix(`/myweb`) + kind: Rule + middlewares: + - name: myweb-strip-path-prefix + services: + - name: myweb + port: 80 + tls: + certResolver: letsencrypt + diff --git a/tlsroute.yaml b/tlsroute.yaml new file mode 100644 index 0000000..95e4b8a --- /dev/null +++ b/tlsroute.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: jenkins-http + namespace: jenkins +spec: + entryPoints: + - web + routes: + - match: Host(`jenkins.cams7.ml`) + kind: Rule + services: + - name: jenkins + port: 8080 From 4f451a6566fc0d7135d15409bd94a0ef3fa29a90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Fri, 27 Aug 2021 21:46:45 -0300 Subject: [PATCH 04/14] O certResolve foi alterado para pebble --- myweb.yaml | 2 +- tlsroute.yaml | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/myweb.yaml b/myweb.yaml index 37e6fd8..c3274de 100644 --- a/myweb.yaml +++ b/myweb.yaml @@ -105,5 +105,5 @@ spec: - name: myweb port: 80 tls: - certResolver: letsencrypt + certResolver: pebble diff --git a/tlsroute.yaml b/tlsroute.yaml index 95e4b8a..b2d8a6c 100644 --- a/tlsroute.yaml +++ b/tlsroute.yaml @@ -1,3 +1,15 @@ +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: jenkins-redirect-scheme + namespace: jenkins +spec: + redirectScheme: + scheme: https + permanent: true + port: "443" + --- apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute @@ -7,9 +19,29 @@ metadata: spec: entryPoints: - web + routes: + - match: Host(`jenkins.cams7.ml`) + kind: Rule + middlewares: + - name: jenkins-redirect-scheme + services: + - name: jenkins + port: 8080 + +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: jenkins-https + namespace: jenkins +spec: + entryPoints: + - websecure routes: - match: Host(`jenkins.cams7.ml`) kind: Rule services: - name: jenkins port: 8080 + tls: + certResolver: pebble From f59f52ff35d86c73eab6c0621dbc61110b8a30d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Sun, 29 Aug 2021 20:17:27 -0300 Subject: [PATCH 05/14] add new files --- certificate.yaml | 10 ++++++++++ issuer.yaml | 7 +++++++ myweb.yaml | 3 ++- tlsroute.yaml | 3 ++- 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 certificate.yaml create mode 100644 issuer.yaml diff --git a/certificate.yaml b/certificate.yaml new file mode 100644 index 0000000..5e25693 --- /dev/null +++ b/certificate.yaml @@ -0,0 +1,10 @@ +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: jenkins.cams7.ml-cert +spec: + dnsNames: + - jenkins.cams7.ml + secretName: jenkins.cams7.ml + issuerRef: + name: cams7.ml-issuer \ No newline at end of file diff --git a/issuer.yaml b/issuer.yaml new file mode 100644 index 0000000..d7174f0 --- /dev/null +++ b/issuer.yaml @@ -0,0 +1,7 @@ +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: cams7.ml-issuer +spec: + ca: + secretName: ca-key-pair \ No newline at end of file diff --git a/myweb.yaml b/myweb.yaml index c3274de..d1925be 100644 --- a/myweb.yaml +++ b/myweb.yaml @@ -105,5 +105,6 @@ spec: - name: myweb port: 80 tls: - certResolver: pebble +# certResolver: pebble + secretName: dev.cams7.ml diff --git a/tlsroute.yaml b/tlsroute.yaml index b2d8a6c..94df5c2 100644 --- a/tlsroute.yaml +++ b/tlsroute.yaml @@ -44,4 +44,5 @@ spec: - name: jenkins port: 8080 tls: - certResolver: pebble +# certResolver: pebble + secretName: jenkins.cams7.ml From 349c4d47a53180ef3f68b2100e5278fb473cff98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Sun, 5 Sep 2021 18:18:17 -0300 Subject: [PATCH 06/14] =?UTF-8?q?O=20arquivo=20myweb.yaml=20foi=20movido?= =?UTF-8?q?=20para=20o=20diret=C3=B3rio=20yamls?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 4 ++-- certificate.yaml | 10 ---------- issuer.yaml | 7 ------- tlsroute.yaml | 3 --- myweb.yaml => yamls/myweb.yaml | 22 +--------------------- 5 files changed, 3 insertions(+), 43 deletions(-) delete mode 100644 certificate.yaml delete mode 100644 issuer.yaml rename myweb.yaml => yamls/myweb.yaml (84%) diff --git a/Jenkinsfile b/Jenkinsfile index 07e4e33..6c23934 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -30,8 +30,8 @@ pipeline { steps { container('kubectl') { withCredentials([file(credentialsId: 'mykubeconfig', variable: 'KUBECONFIG')]) { - sh 'sed -i "s//${BUILD_NUMBER}/" myweb.yaml' - sh 'kubectl apply -f myweb.yaml' + sh 'sed -i "s//${BUILD_NUMBER}/" yamls/myweb.yaml' + sh 'kubectl apply -n demo210827 -f yamls/myweb.yaml' } } } diff --git a/certificate.yaml b/certificate.yaml deleted file mode 100644 index 5e25693..0000000 --- a/certificate.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: jenkins.cams7.ml-cert -spec: - dnsNames: - - jenkins.cams7.ml - secretName: jenkins.cams7.ml - issuerRef: - name: cams7.ml-issuer \ No newline at end of file diff --git a/issuer.yaml b/issuer.yaml deleted file mode 100644 index d7174f0..0000000 --- a/issuer.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: cert-manager.io/v1 -kind: Issuer -metadata: - name: cams7.ml-issuer -spec: - ca: - secretName: ca-key-pair \ No newline at end of file diff --git a/tlsroute.yaml b/tlsroute.yaml index 94df5c2..4fd136e 100644 --- a/tlsroute.yaml +++ b/tlsroute.yaml @@ -9,7 +9,6 @@ spec: scheme: https permanent: true port: "443" - --- apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute @@ -27,7 +26,6 @@ spec: services: - name: jenkins port: 8080 - --- apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute @@ -44,5 +42,4 @@ spec: - name: jenkins port: 8080 tls: -# certResolver: pebble secretName: jenkins.cams7.ml diff --git a/myweb.yaml b/yamls/myweb.yaml similarity index 84% rename from myweb.yaml rename to yamls/myweb.yaml index d1925be..3d3ce99 100644 --- a/myweb.yaml +++ b/yamls/myweb.yaml @@ -1,9 +1,3 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: demo210827 - --- apiVersion: apps/v1 kind: Deployment @@ -11,7 +5,6 @@ metadata: labels: app: myweb name: myweb - namespace: demo210827 spec: replicas: 3 selector: @@ -26,7 +19,6 @@ spec: - image: cams7/myweb: imagePullPolicy: Always name: myweb - --- apiVersion: v1 kind: Service @@ -34,7 +26,6 @@ metadata: labels: app: myweb name: myweb - namespace: demo210827 spec: ports: - name: http @@ -44,37 +35,30 @@ spec: selector: app: myweb type: ClusterIP - ---- --- apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: myweb-redirect-scheme - namespace: demo210827 spec: redirectScheme: scheme: https permanent: true port: "443" - --- apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: myweb-strip-path-prefix - namespace: demo210827 spec: stripPrefix: prefixes: - /myweb - --- apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: myweb-http - namespace: demo210827 spec: entryPoints: - web @@ -86,13 +70,11 @@ spec: services: - name: myweb port: 80 - --- apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: myweb-https - namespace: demo210827 spec: entryPoints: - websecure @@ -105,6 +87,4 @@ spec: - name: myweb port: 80 tls: -# certResolver: pebble - secretName: dev.cams7.ml - + secretName: dev.cams7.ml \ No newline at end of file From 184fe943169a270ca1f6af484fee4b6b84e836b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Sat, 11 Sep 2021 10:30:11 -0300 Subject: [PATCH 07/14] Change docker registry --- Jenkinsfile | 2 +- docker-config.json | 10 ++++++++++ yamls/myweb.yaml | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 docker-config.json diff --git a/Jenkinsfile b/Jenkinsfile index 6c23934..897612b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -19,7 +19,7 @@ pipeline { sh ''' /kaniko/executor --dockerfile `pwd`/Dockerfile \ --context `pwd` \ - --destination=cams7/myweb:${BUILD_NUMBER} + --destination=private.nexus.cams7.ml/myweb:${BUILD_NUMBER} ''' } } diff --git a/docker-config.json b/docker-config.json new file mode 100644 index 0000000..7f7fb9f --- /dev/null +++ b/docker-config.json @@ -0,0 +1,10 @@ +{ + "auths": { + "private.nexus.cams7.ml": { + "auth": "YWRtaW46YWJjMTIzNDU=" + }, + "public.nexus.cams7.ml": { + "auth": "YWRtaW46YWJjMTIzNDU=" + } + } +} diff --git a/yamls/myweb.yaml b/yamls/myweb.yaml index 3d3ce99..a3be3f8 100644 --- a/yamls/myweb.yaml +++ b/yamls/myweb.yaml @@ -16,7 +16,7 @@ spec: app: myweb spec: containers: - - image: cams7/myweb: + - image: public.nexus.cams7.ml/myweb: imagePullPolicy: Always name: myweb --- From c18c3c73b531bc50ddfc9436d9af6a7e62fc8103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Sun, 12 Sep 2021 10:59:57 -0300 Subject: [PATCH 08/14] Update to version v1.0.1 --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 5db1c58..b85e699 100644 --- a/index.html +++ b/index.html @@ -1,6 +1,6 @@
-

Welcome to Just Me and OpenSource

-

v2.1

+

Welcome to MyWeb app

+

v1.0.1



Demo of Jenkins CI/CD Pipeline in Kubernetes 2021

From a0272e0db487424a6b3b4a8d6cedc4ca3ce5c32d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Tue, 21 Sep 2021 18:15:50 -0300 Subject: [PATCH 09/14] Update version --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index b85e699..2320be0 100644 --- a/index.html +++ b/index.html @@ -1,6 +1,6 @@

Welcome to MyWeb app

-

v1.0.1

+

v1.0.2



Demo of Jenkins CI/CD Pipeline in Kubernetes 2021

From 0ccf00885b515bcbf22c60e4233ad42e65045615 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Tue, 21 Sep 2021 18:23:02 -0300 Subject: [PATCH 10/14] Update app version to v1.0.3 --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 2320be0..47e5d4d 100644 --- a/index.html +++ b/index.html @@ -1,6 +1,6 @@

Welcome to MyWeb app

-

v1.0.2

+

v1.0.3



Demo of Jenkins CI/CD Pipeline in Kubernetes 2021

From 76e646fbc886af5c6759996f04475942c82d284c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Tue, 21 Sep 2021 18:28:19 -0300 Subject: [PATCH 11/14] Update app version to v1.0.4 --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 47e5d4d..963997f 100644 --- a/index.html +++ b/index.html @@ -1,6 +1,6 @@

Welcome to MyWeb app

-

v1.0.3

+

v1.0.4



Demo of Jenkins CI/CD Pipeline in Kubernetes 2021

From 361f54fab45d1ba138ef97d4772a3a53f5fc06c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Tue, 21 Sep 2021 19:07:00 -0300 Subject: [PATCH 12/14] Add stage to send message to slack --- Jenkinsfile | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 897612b..5361d27 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -12,6 +12,16 @@ pipeline { stages { + stage ('Pre Actions-Build Started') { + steps { + slackSend ( + color: '#F7A200' , + message: "Hey, your CI/CD trigger has *Started* \n*Trigger: * `${env.JOB_NAME}` #${env.BUILD_NUMBER}\n<${env.BUILD_URL}|OPEN JENKINS BUILD>\n*GitHub: * ${GIT_BRANCH} >> <${GIT_URL}|Open Github>" + ) + } + } + + stage('Kaniko Build & Push Image') { steps { container('kaniko') { From 85381bebcfbdb4e1e98ab29ef0b8e027d5fa86a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Tue, 21 Sep 2021 19:13:28 -0300 Subject: [PATCH 13/14] Update message that will be send to slack --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5361d27..e93cbcd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -16,7 +16,7 @@ pipeline { steps { slackSend ( color: '#F7A200' , - message: "Hey, your CI/CD trigger has *Started* \n*Trigger: * `${env.JOB_NAME}` #${env.BUILD_NUMBER}\n<${env.BUILD_URL}|OPEN JENKINS BUILD>\n*GitHub: * ${GIT_BRANCH} >> <${GIT_URL}|Open Github>" + message: "Hey, your CI/CD trigger has *Started* \n*Trigger: * `${env.JOB_NAME}` #${env.BUILD_NUMBER}\n<`https://jenkins.cams7.ml/job/${env.JOB_NAME}/${env.BUILD_NUMBER}`|OPEN JENKINS BUILD>\n*GitHub: * ${GIT_BRANCH} >> <${GIT_URL}|Open Github>" ) } } From ce21721a5599f01c853f19f1ff4f245830142f51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Magalh=C3=A3es?= Date: Tue, 21 Sep 2021 19:15:15 -0300 Subject: [PATCH 14/14] Update message that will be send to slack --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index e93cbcd..0bb7937 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -16,7 +16,7 @@ pipeline { steps { slackSend ( color: '#F7A200' , - message: "Hey, your CI/CD trigger has *Started* \n*Trigger: * `${env.JOB_NAME}` #${env.BUILD_NUMBER}\n<`https://jenkins.cams7.ml/job/${env.JOB_NAME}/${env.BUILD_NUMBER}`|OPEN JENKINS BUILD>\n*GitHub: * ${GIT_BRANCH} >> <${GIT_URL}|Open Github>" + message: "Hey, your CI/CD trigger has *Started* \n*Trigger: * `${env.JOB_NAME}` #${env.BUILD_NUMBER}\n\n*GitHub: * ${GIT_BRANCH} >> <${GIT_URL}|Open Github>" ) } }