Skip to content
Snippets Groups Projects
Commit f1ed54ae authored by Bastien DUMONT's avatar Bastien DUMONT :angel:
Browse files

feat: add rec environment

parent 49aa1c9b
No related branches found
No related tags found
1 merge request!46feat: add rec environment
variables: variables:
DOCKER_DRIVER: overlay2 DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: "" DOCKER_TLS_CERTDIR: ''
stages: stages:
- build - build
- deploy - deploy
build_master: build:
image: docker:git image: docker:git
services: services:
- docker:dind - docker:dind
stage: build stage: build
tags: tags:
- build-push-to-registry - build-push-to-registry
only: only:
- merge_requests
- master - master
script: script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - 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 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 - 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 stage: deploy
tags: tags:
- ns-cpd-p01-syn - ns-cpd-p01-syn
only: only:
- master - master
needs:
- build
environment:
name: Self-Data Technical Docs
url: https://doc-self-data.apps.grandlyon.com/
before_script: before_script:
- NAMESPACE=ns-cpd-p01-syn - NAMESPACE=ns-cpd-p01-syn
- echo $READ_REGISTRY_TOKEN - echo $READ_REGISTRY_TOKEN
- echo $KUBE_CONFIG_CPD_PROD - echo $KUBE_CONFIG_CPD_PROD
- export KUBECONFIG=$KUBE_CONFIG_CPD_PROD - export KUBECONFIG=$KUBE_CONFIG_CPD_PROD
script: 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); - 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); - 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); - KEY=$(awk 'NF {sub(/\r/, ""); printf "%s\\\\r\\\\n",$0;}' $APPS_TLS_PRIVATE_KEY);
...@@ -41,4 +78,3 @@ deploy_master: ...@@ -41,4 +78,3 @@ deploy_master:
- oc apply -f k8s/service.yml - oc apply -f k8s/service.yml
- oc apply -f k8s/route.yml - oc apply -f k8s/route.yml
- oc delete pod -l app=self-data-doc - oc delete pod -l app=self-data-doc
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -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/). 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 ## Resources
......
...@@ -3,7 +3,7 @@ kind: Deployment ...@@ -3,7 +3,7 @@ kind: Deployment
apiVersion: apps/v1 apiVersion: apps/v1
metadata: metadata:
name: self-data-doc name: self-data-doc
namespace: ns-cpd-p01-syn namespace: {{NAMESPACE}}
spec: spec:
replicas: 1 replicas: 1
selector: selector:
......
...@@ -2,9 +2,9 @@ kind: Route ...@@ -2,9 +2,9 @@ kind: Route
apiVersion: route.openshift.io/v1 apiVersion: route.openshift.io/v1
metadata: metadata:
name: self-data-doc-route name: self-data-doc-route
namespace: ns-cpd-p01-syn namespace: {{NAMESPACE}}
spec: spec:
host: doc-self-data.apps.grandlyon.com host: {{HOSTNAME}}
to: to:
kind: Service kind: Service
name: self-data-doc-service name: self-data-doc-service
......
...@@ -2,7 +2,7 @@ apiVersion: v1 ...@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: self-data-doc-service name: self-data-doc-service
namespace: ns-cpd-p01-syn namespace: {{NAMESPACE}}
spec: spec:
selector: selector:
app: self-data-doc app: self-data-doc
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment