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 - setup_remote_docker: version: 20.10.12 docker_layer_caching: true - run: docker login rg.fr-par.scw.cloud/tezoslink -u nologin -p $SCW_SECRET_KEY - run: docker build --tag rg.fr-par.scw.cloud/tezoslink/p1-api:$TAG -f Dockerfiles/Dockerfile.api . - run: docker push rg.fr-par.scw.cloud/tezoslink/p1-api:$TAG - run: docker login rg.fr-par.scw.cloud/tezoslink -u nologin -p $SCW_SECRET_KEY - run: docker build --tag rg.fr-par.scw.cloud/tezoslink/p1-frontend:$TAG -f Dockerfiles/Dockerfile.front . - run: docker push rg.fr-par.scw.cloud/tezoslink/p1-frontend:$TAG - run: docker login rg.fr-par.scw.cloud/tezoslink -u nologin -p $SCW_SECRET_KEY - run: docker build --tag rg.fr-par.scw.cloud/tezoslink/p1-proxy:$TAG -f Dockerfiles/Dockerfile.proxy . - run: docker push rg.fr-par.scw.cloud/tezoslink/p1-proxy:$TAG deploy-docker-image: docker: - image: cimg/base:stable environment: TAG: << pipeline.git.tag >> steps: - checkout - kubernetes/install-kubeconfig: kubeconfig: KUBECONFIG_DATA - helm/install-helm-client - run: name: Deploy command: > helm upgrade tezos-link helm-charts-p2 -i -f helm-charts-p2/values.yaml -n tezos-link --create-namespace --set api.image.tag=$TAG --set api.image.repository='rg.fr-par.scw.cloud/tezoslink/p1-api' --set front.image.tag=$TAG --set front.image.repository='rg.fr-par.scw.cloud/tezoslink/p1-frontend' --set proxy.image.tag=$TAG --set proxy.image.repository='rg.fr-par.scw.cloud/tezoslink/p1-proxy' workflows: version: 2 build-and-register: jobs: - build-push-docker-image: filters: tags: only: /^v.*/ branches: ignore: /.*/ - deploy-docker-image: requires: - build-push-docker-image filters: tags: only: /^v.*/ branches: ignore: /.*/