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: - "39:25:57:64:62:43:1f:98:b1:5e:75:53:87:d8:e7:71" - run: cp $HOME/.ssh/id_rsa_3925576462431f98b15e755387d8e771 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 lecoffreFront.image.repository='rg.fr-par.scw.cloud/lecoffre/front' --set lecoffreFront.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