version: 2.1 orbs: kubernetes: circleci/kubernetes@1.0.0 helm: circleci/helm@2.0.1 jobs: build-push-docker-image: docker: - image: cimg/base:stable environment: TAG: << pipeline.git.tag >> steps: - checkout - add_ssh_keys: fingerprints: - "4c:8e:00:16:94:44:d9:ad:e9:e9:2c:8b:02:d4:8d:7a" - run: cp $HOME/.ssh/id_rsa_4c8e00169444d9ade9e92c8b02d48d7a id_rsa - setup_remote_docker: version: 20.10.12 docker_layer_caching: true - run: docker login rg.fr-par.scw.cloud/lecoffre -u nologin -p $SCW_SECRET_KEY - run: docker build --tag rg.fr-par.scw.cloud/lecoffre/front:${CIRCLE_SHA1:0:7} . - run: docker push rg.fr-par.scw.cloud/lecoffre/front:${CIRCLE_SHA1:0:7} deploy-docker-image: docker: - image: cimg/base:stable environment: TAG: << pipeline.git.tag >> parameters: env: type: string default: stg steps: - checkout - kubernetes/install-kubeconfig: kubeconfig: KUBECONFIG_DATA - helm/install-helm-client - run: name: Deploy command: > helm upgrade lecoffre-front devops/ -i -f devops/<>.values.yaml -n lecoffre-<> --create-namespace --set lecoffreBack.image.repository='rg.fr-par.scw.cloud/lecoffre/front' --set lecoffreBack.image.tag=${CIRCLE_SHA1:0:7} workflows: version: 2 build-and-register-stg: jobs: - build-push-docker-image: filters: branches: only: staging - deploy-docker-image: env: stg requires: - build-push-docker-image context: - sc-shared-prd filters: branches: only: staging build-and-register-ppd: jobs: - build-push-docker-image: filters: branches: only: preprod - deploy-docker-image: env: ppd requires: - build-push-docker-image context: - sc-shared-prd filters: branches: only: preprod build-and-register-prd: jobs: - build-push-docker-image: filters: branches: only: main - deploy-docker-image: env: prd requires: - build-push-docker-image context: - sc-shared-prd filters: branches: only: main