diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3c2465f23553312e222e84fa796ec6c05409b9ca..a509cf1e72e52c9aedfbed267e09e7ed8618542b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,6 +12,7 @@ variables: stages: - quality - build + - deploy build-test: stage: build @@ -63,3 +64,39 @@ sonarqube: -Dsonar.login=${SONAR_TOKEN} -Dsonar.cpd.exclusions=tests/**,src/**/*.spec.ts* -Dsonar.qualitygate.wait=true + +deploy_rec: + stage: deploy + before_script: + - NAMESPACE=ns-ecolyo-bo-r01-syn + - sed -i "s/{{IMAGE_TAG}}/dev/" ./k8s/deployments/ecolyo-agent-client-deployment.yml + - export KUBECONFIG=$KUBE_CONFIG_REC + script: + - find k8s/ -name '*.yml' -exec sed -i "s/{{NS}}/$NAMESPACE/g" {} \; + + - oc create secret -n $NAMESPACE docker-registry llle-project --docker-server=$CI_REGISTRY --docker-username=llle-project --docker-password=$TOKEN_PULL_IMAGE --dry-run=client -o yaml | oc apply -f - + + - oc apply -f k8s/deployments + - oc apply -f k8s/services + tags: + - ns-ecolyo-bo-r01-syn + only: + - dev + +deploy_prod: + stage: deploy + before_script: + - NAMESPACE=ns-ecolyo-bo-p01-syn + - sed -i "s/{{IMAGE_TAG}}/master/" ./k8s/deployments/ecolyo-agent-client-deployment.yml + - export KUBECONFIG=$KUBE_CONFIG_PROD + script: + - find k8s/ -name '*.yml' -exec sed -i "s/{{NS}}/$NAMESPACE/g" {} \; + + - oc create secret -n $NAMESPACE docker-registry llle-project --docker-server=$CI_REGISTRY --docker-username=llle-project --docker-password=$TOKEN_PULL_IMAGE --dry-run=client -o yaml | oc apply -f - + + - oc apply -f k8s/deployments + - oc apply -f k8s/services + tags: + - ns-ecolyo-bo-p01-syn + only: + - master diff --git a/k8s/deployments/ecolyo-agent-client-deployment.yml b/k8s/deployments/ecolyo-agent-client-deployment.yml new file mode 100644 index 0000000000000000000000000000000000000000..d4c81ef171ea2867415f8c49090c60b39df265cd --- /dev/null +++ b/k8s/deployments/ecolyo-agent-client-deployment.yml @@ -0,0 +1,27 @@ +--- +kind: Deployment +apiVersion: apps/v1 +metadata: + name: ecolyo-agent-client + namespace: {{NS}} +spec: + replicas: 1 + selector: + matchLabels: + app: ecolyo-agent-client + template: + metadata: + labels: + app: ecolyo-agent-client + spec: + containers: + - name: ecolyo-agent-client + image: registry.forge.grandlyon.com/web-et-numerique/factory/llle_project/backoffice-client:{{IMAGE_TAG}} + imagePullPolicy: Always + ports: + - containerPort: 8080 + protocol: TCP + nodeSelector: + node-role.kubernetes.io/worker: '' + imagePullSecrets: + - name: llle-project diff --git a/k8s/services/ecolyo-agent-client-service.yml b/k8s/services/ecolyo-agent-client-service.yml new file mode 100644 index 0000000000000000000000000000000000000000..f9a6defa4e1b5626a6a5a3300a7231ccb23c186f --- /dev/null +++ b/k8s/services/ecolyo-agent-client-service.yml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: ecolyo-agent-client-service + namespace: {{NS}} +spec: + selector: + app: ecolyo-agent-client + ports: + - protocol: TCP + port: 80 + targetPort: 8080