From e449281aad9c1d9a2fb6e0d0dacee4f4b5bf3171 Mon Sep 17 00:00:00 2001 From: Youssef Touggani Date: Sun, 17 Jan 2021 17:27:30 +0100 Subject: [PATCH] :zap: ajout fichier de configuration --- .circleci/config.yml | 93 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..02eb10f --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,93 @@ +version: 2 +jobs: + install: + docker: + - image: circleci/node:dubnium-browsers + 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:dubnium-browsers + steps: + - checkout + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }}-{{ .Environment.CACHE_VERSION }} + - run: + name: Lancement des tests + command: yarn test + build: + docker: + - image: circleci/node:dubnium-browsers + steps: + - checkout + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }}-{{ .Environment.CACHE_VERSION }} + - run: + command : yarn run build + - run: + command: | + cp dist/ /tmp/dist -r + - store_artifacts: + path: /tmp/dist + - persist_to_workspace: + root: /tmp + paths: + - dist + netlify-deploy: + docker: + - image: circleci/node:dubnium-browsers + 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: + 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: + version: 2 + build_deploy: + jobs: + - install + - build: + requires: + - install + - netlify-deploy: + context: Netlify + requires: + - build + - docker-build: + context: Docker + requires: + - install \ No newline at end of file