From f1ed54ae3636bc0aff4fecf7f5de419a4f16af1c Mon Sep 17 00:00:00 2001 From: Bastien DUMONT <bdumont@grandlyon.com> Date: Tue, 22 Aug 2023 15:19:05 +0000 Subject: [PATCH] feat: add rec environment --- .gitlab-ci.yml | 46 +++++++++++++++++++++++++++++++++++++++++----- docs/index.md | 2 +- k8s/deployment.yml | 2 +- k8s/route.yml | 4 ++-- k8s/service.yml | 2 +- 5 files changed, 46 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a535236..320229f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,37 +1,74 @@ variables: DOCKER_DRIVER: overlay2 - DOCKER_TLS_CERTDIR: "" + DOCKER_TLS_CERTDIR: '' stages: - build - deploy -build_master: +build: image: docker:git services: - - docker:dind + - docker:dind stage: build tags: - build-push-to-registry only: + - merge_requests - master script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker build -t registry.forge.grandlyon.com/web-et-numerique/factory/llle_project/self-data-technical-doc . - docker push registry.forge.grandlyon.com/web-et-numerique/factory/llle_project/self-data-technical-doc -deploy_master: +deploy_rec: + stage: deploy + tags: + - ns-cpd-r01-syn + only: + - merge_requests + needs: + - build + environment: + name: Recette - Self-Data Technical Docs + url: https://doc-self-data-rec.apps.grandlyon.com/ + before_script: + - NAMESPACE=ns-cpd-r01-syn + - echo $READ_REGISTRY_TOKEN + - echo $KUBE_CONFIG_CPD_REC + - export KUBECONFIG=$KUBE_CONFIG_CPD_REC + script: + - find k8s/ -name '*.yml' -exec sed -i "s/{{NAMESPACE}}/$NAMESPACE/g" {} \; + - sed -i "s/{{HOSTNAME}}/doc-self-data-rec.apps.grandlyon.com/g" ./k8s/route.yml + - CA=$(awk 'NF {sub(/\r/, ""); printf "%s\\\\r\\\\n",$0;}' $APPS_CERT_CA); + - CRT=$(awk 'NF {sub(/\r/, ""); printf "%s\\\\r\\\\n",$0;}' $APPS_CERT_CRT); + - KEY=$(awk 'NF {sub(/\r/, ""); printf "%s\\\\r\\\\n",$0;}' $APPS_TLS_PRIVATE_KEY); + - sed -i -e "s|#CA#|$CA|" -e "s|#CRT#|$CRT|" -e "s|#KEY#|$KEY|" ./k8s/route.yml + - oc create secret -n $NAMESPACE docker-registry forge-secret --docker-server=$CI_REGISTRY --docker-username=forge-secret --docker-password=$READ_REGISTRY_TOKEN --dry-run=client -o yaml | oc apply -f - + - oc apply -f k8s/deployment.yml + - oc apply -f k8s/service.yml + - oc apply -f k8s/route.yml + - oc delete pod -l app=self-data-doc + +deploy_prod: stage: deploy tags: - ns-cpd-p01-syn only: - master + needs: + - build + environment: + name: Self-Data Technical Docs + url: https://doc-self-data.apps.grandlyon.com/ before_script: - NAMESPACE=ns-cpd-p01-syn - echo $READ_REGISTRY_TOKEN - echo $KUBE_CONFIG_CPD_PROD - export KUBECONFIG=$KUBE_CONFIG_CPD_PROD script: + - find k8s/ -name '*.yml' -exec sed -i "s/{{NAMESPACE}}/$NAMESPACE/g" {} \; + - sed -i "s/{{HOSTNAME}}/doc-self-data-rec.apps.grandlyon.com/g" ./k8s/route.yml - CA=$(awk 'NF {sub(/\r/, ""); printf "%s\\\\r\\\\n",$0;}' $APPS_CERT_CA); - CRT=$(awk 'NF {sub(/\r/, ""); printf "%s\\\\r\\\\n",$0;}' $APPS_CERT_CRT); - KEY=$(awk 'NF {sub(/\r/, ""); printf "%s\\\\r\\\\n",$0;}' $APPS_TLS_PRIVATE_KEY); @@ -41,4 +78,3 @@ deploy_master: - oc apply -f k8s/service.yml - oc apply -f k8s/route.yml - oc delete pod -l app=self-data-doc - \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 6540f7d..403c0e3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,7 +4,7 @@ This documentation covers the technical aspects of projects developed by the Grandlyon in cooperation with [Cozy Cloud](https://cozy.io/fr/). -In order to work with a self-data environment, there are a couple of prerequisites. +In order to work with a self-data environment, there are a couple of prerequisites. ## Resources diff --git a/k8s/deployment.yml b/k8s/deployment.yml index 8d134da..c443bc0 100644 --- a/k8s/deployment.yml +++ b/k8s/deployment.yml @@ -3,7 +3,7 @@ kind: Deployment apiVersion: apps/v1 metadata: name: self-data-doc - namespace: ns-cpd-p01-syn + namespace: {{NAMESPACE}} spec: replicas: 1 selector: diff --git a/k8s/route.yml b/k8s/route.yml index aeb175f..5953bb9 100644 --- a/k8s/route.yml +++ b/k8s/route.yml @@ -2,9 +2,9 @@ kind: Route apiVersion: route.openshift.io/v1 metadata: name: self-data-doc-route - namespace: ns-cpd-p01-syn + namespace: {{NAMESPACE}} spec: - host: doc-self-data.apps.grandlyon.com + host: {{HOSTNAME}} to: kind: Service name: self-data-doc-service diff --git a/k8s/service.yml b/k8s/service.yml index c908c1c..67cb6b1 100644 --- a/k8s/service.yml +++ b/k8s/service.yml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Service metadata: name: self-data-doc-service - namespace: ns-cpd-p01-syn + namespace: {{NAMESPACE}} spec: selector: app: self-data-doc -- GitLab