diff --git a/.circleci/config.yml b/.circleci/config.yml index 889c099..cc73b9c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -56,6 +56,38 @@ jobs: - restore_cache: key: yarn-packages-{{ checksum "yarn.lock"}} - run : yarn test:e2e + build_docker: + environment: + IMAGE_NAME: 150597dal/my-awesome-ci-expr + docker: + - image: circleci/buildpack-deps:stretch + steps: + - checkout + - setup_remot_docker + - run: docker image build --tag $IMAGE_NAME:app . + - run: docker save -o image.tar $IMAGE_NAME + - persist_to_workspace: + - root: . + - paths: + - ./image.tar + publish_image: + environment: + IMAGE_NAME: 150597dal/my-awesome-ci-expr + docker: + - image: circleci/buildpack-deps:stretch + steps: + - attache_workspace: + at: /tmp/workspace + - setup_remote_docker + - run: docker load -i /tmp/workspace/image.tar + -run: + name: Login and Publish to Docker Hub + commande: + echo "$DOCKERHUB_PASS" | docker login --username 150597dal --password-stdin + docker tag $IMAGE_NAME:app $IMAGE_NAME:$CIRCLE_BUILD_NUM + docker tag $IMAGE_NAME:app $IMAGE_NAME:latest + docker push $IMAGE_NAME:$CIRCLE_BUILD_NUM + docker push $IMAGE_NAME:latest orbs: node: circleci/node@3.0.0 @@ -68,3 +100,9 @@ workflows: - lint - test - database + - build_docker + - publish_image + context: + - DOCKER + requires: + - build_docker diff --git a/Dockerfile b/Dockerfile index 8bfd0fa..09d611a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ FROM node:12 -WORKDIR /usr/src/app + COPY package.json yarn.lock ./ COPY . .