diff --git a/.circleci/config.yml b/.circleci/config.yml index fd045d8..52c6fe6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,3 +23,79 @@ jobs: - restore_cache: keys: dependencies-{{ checksum "package.json" }}-v1 - run: yarn test:unit + + yarn-build: + <<: *shared-config + environment: + - VITE_BACKEND_URL_URL: $FINAL_BACKEND_URL + steps: + - checkout + - restore_cache: + keys: + - dependencies-{{ checksum "package.json" }}-v1 + - dependencies- + - run: yarn build + + deploy: + <<: *shared-config + steps: + - checkout + - restore_cache: + keys: + - dependencies-{{ checksum "package.json" }}-v1 + - dependencies- + - run: + name: Install netlify + # --cached : reuse the highest version already used somewhere within the project + command: | + yarn add --cached netlify-cli + - run: + # --prod: (boolean) - Deploy to production + # --open : (boolean) - Open site after deploy + name: Deploy app + command: yarn netlify deploy --auth $NETLIFY_AUTH_TOKEN --dir ~/repo --site $NETLIFY_CLIENT_ID --prod --open + + docker-build-and-push: + working_directory: /dockerapp + docker: + - image: docker:17.05.0-ce-git + steps: + - checkout + - setup_remote_docker: + version: 19.03.13 + - run: + name: Build application Docker image + command: | + docker build -t app_front . + - deploy: + name: Publish application to docker hub + command: | + docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD + docker tag app $DOCKERHUB_USERNAME/$DOCKERHUB_APP_NAME:$CIRCLE_BUILD_NUM + docker tag app $DOCKERHUB_USERNAME/$DOCKERHUB_APP_NAME:latest + docker push $DOCKERHUB_USERNAME/$DOCKERHUB_APP_NAME:$CIRCLE_BUILD_NUM + docker push $DOCKERHUB_USERNAME/$DOCKERHUB_APP_NAME:latest + +workflows: + version: 2 + build-test-and-lint: + jobs: + - install + - unit-tests: + requires: + - install + - build: + requires: + - yarn-unit-test + - deploy: + requires: + - yarn-build + filters: + branches: + only: main + - docker-build-and-push: + requires: + - yarn-build + filters: + branches: + only: main