From 8b40d8ea4181d97bff7a3998357c4fb94044ade7 Mon Sep 17 00:00:00 2001 From: Johann Date: Sun, 17 Jan 2021 18:00:31 +0100 Subject: [PATCH] :construction: Premier jet front --- .circleci/config.yml | 95 ++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 3 ++ Dockerfile | 10 +++++ src/common/config.js | 2 +- 4 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 .circleci/config.yml create mode 100644 Dockerfile diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..2fc3093 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,95 @@ +version: 2.1 +jobs: + install: + docker: + - image: circleci/node:12 + steps: + - checkout + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }}-{{ .Environment.CACHE_VERSION }} + - yarn-packages + - run: yarn global add node-gyp && yarn install + - save_cache: + key: yarn-packages-{{ checksum "yarn.lock" }}-{{ .Environment.CACHE_VERSION }} + paths: + - node_modules + test: + docker: + - image: circleci/node:12 + steps: + - checkout + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }}-{{ .Environment.CACHE_VERSION }} + - run: + name: Launch test + command: yarn test + prod-build: + docker: + - image: circleci/node:12 + steps: + - checkout + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }}-{{ .Environment.CACHE_VERSION }} + - run: + name: Build for production + command : yarn run build + - run: + name: Copy build to workspace + command: | + cp dist/ /tmp/dist -r + - store_artifacts: + path: /tmp/dist + - persist_to_workspace: + root: /tmp + paths: + - dist + deploy-netlify: + docker: + - image: circleci/node:12 + working_directory: ~/deploy-netlfify + steps: + - attach_workspace: + at: /tmp + - run: + name: Deploy app + command: | + sudo npm install -g --silent netlify-cli + netlify deploy --prod --auth $NETLIFY_AUTH_TOKEN --dir=/tmp/dist --site $NETLIFY_SITE_ID + docker-build-push: + working_directory: /dockerapp + docker: + - image: docker:17.05.0-ce-git + steps: + - checkout + - setup_remote_docker + - run: + name: dockerize the app + command: | + docker build --cache-from=app -t app . + - run: + name: Publish app to docker hub + command: | + docker login -u $DOCKER_HUB_USERNAME -p $DOCKER_HUB_PASSWORD + docker tag app $DOCKER_HUB_USERNAME/tp-devops-front:$CIRCLE_BUILD_NUM + docker tag app $DOCKER_HUB_USERNAME/tp-devops-front:latest + docker push $DOCKER_HUB_USERNAME/tp-devops-front:$CIRCLE_BUILD_NUM + docker push $DOCKER_HUB_USERNAME/tp-devops-front:latest + +workflows: + build_deploy: + jobs: + - install + - prod-build: + requires: + - install + - deploy-netlify: + context: netlify_devops_final + requires: + - prod-build + - docker-build-push: + context: Docker + requires: + - install \ No newline at end of file diff --git a/.gitignore b/.gitignore index 863c1df..aace815 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,6 @@ yarn-error.log* # Coverage Reports coverage + +# Netlify +.netlify \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c880f38 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM node:dubnium + +WORKDIR /app + +RUN yarn install + +COPY . . + +EXPOSE 2020 +CMD ["yarn", "serve"] \ No newline at end of file diff --git a/src/common/config.js b/src/common/config.js index bc3dc53..0bdc011 100644 --- a/src/common/config.js +++ b/src/common/config.js @@ -1,5 +1,5 @@ export const API_URL = process.env.NODE_ENV === "production" - ? "https://tobedefined.io/api" + ? process.env.PROD_BACK_URL || "https://tp-devops-final-back.herokuapp.com/" : "http://localhost:2020/api"; export default API_URL;