diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a535236acc2c5614afda0c09cf9999645c1218e1..320229f3939c0e8cd0e036e5ef484512c9ad3ac5 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 6540f7d81ef2a98c48948be49fb88d4c00f17060..403c0e317453d37e48607aaafe2c6f02c3f65088 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 8d134da606d76c3c3b77caf429cfc887cac31eb8..c443bc058f4b8dfa587b410304c7516e94bd96a3 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 aeb175f5e7bb386c63f6d024561b44a6656934d5..5953bb9190a8843d7492de3e7af33d71e4994f85 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 c908c1c4479bf065b44ebb836487778adae6f661..67cb6b1e79d4fa1b5b5d99d78aa96454e6ab6e13 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