diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..f7f465b --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,81 @@ +# Javascript Node CircleCI 2.0 configuration file +# +# Check https://circleci.com/docs/2.0/language-javascript/ for more details +# +version: 2 +jobs: + install: + docker: + # specify the version you desire here + - image: circleci/node:8.9 + + # Specify service dependencies here if necessary + # CircleCI maintains a library of pre-built images + # documented at https://circleci.com/docs/2.0/circleci-images/ + # - image: circleci/mongo:3.4.4 + + working_directory: ~/repo + + steps: + - checkout + + # Download and cache dependencies + - restore_cache: + keys: + - v1-dependencies-{{ checksum "package.json" }} + # fallback to using the latest cache if no exact match is found + - v1-dependencies- + + - run: yarn install + + - save_cache: + paths: + - node_modules + key: v1-dependencies-{{ checksum "package.json" }} + build: + docker: + # specify the version you desire here + - image: circleci/node:8.9 + + # Specify service dependencies here if necessary + # CircleCI maintains a library of pre-built images + # documented at https://circleci.com/docs/2.0/circleci-images/ + # - image: circleci/mongo:3.4.4 + + working_directory: ~/repo + + steps: + - checkout + + # Download and cache dependencies + - restore_cache: + keys: + - v1-dependencies-{{ checksum "package.json" }} + # fallback to using the latest cache if no exact match is found + - v1-dependencies- + + - run: yarn build + - run: + name: Copy deployment artifacts to workspace + command: | + cp ./dist /tmp/server -r + - store_artifacts: + path: /tmp/server + - persist_to_workspace: + root: /tmp + paths: + - server + + - save_cache: + paths: + - node_modules + key: v1-dependencies-{{ checksum "package.json" }} + +workflows: + version: 2 + build-test-and-deploy: + jobs: + - install + - build: + requires: + - install \ No newline at end of file