From 95a04575b6fe72cd1003123bb94adbd587e91c69 Mon Sep 17 00:00:00 2001 From: Anatole-DC Date: Thu, 13 Jan 2022 19:49:36 +0100 Subject: [PATCH 1/2] :seedling: Add Dockerfile --- Dockerfile | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..43ad3dd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +FROM node:lts-fermium as development + +WORKDIR /nest-server + +COPY package*.json + +RUN yarn install --only=development + +COPY . . + +RUN yarn run build + +FROM node:lts-fermium as development + +ARG NODE_ENV=production +ENV NODE_ENV=${NODE_ENV} + +WORKDIR /nest-server + +COPY package*.json ./ + +RUN yarn install --only=production + +COPY . . + +COPY --from=development /nest-server/dist ./dist + +CMD ["node", "dist/main"] \ No newline at end of file From 19ab60ec0324cfaf5cb0b5b45bd3dfbbf6807612 Mon Sep 17 00:00:00 2001 From: Anatole-DC Date: Thu, 13 Jan 2022 20:06:01 +0100 Subject: [PATCH 2/2] :construction_worker: Add docker deployement to backend ci --- .circleci/config.yml | 29 +++++++++++++++++++++++++++++ Dockerfile | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d10d636..d3b53d2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -103,6 +103,26 @@ jobs: name: Deploy app command: yarn netlify deploy --auth $NETLIFY_AUTH_TOKEN --dir /tmp/server-doc --site $NETLIFY_SITE_ID --prod + docker-build-and-push: + working_directory: /dockerapp + docker: + - image: docker:17.05.0-ce-git + steps: + - checkout + - setup_remote_docker + - run: + name: Build application Docker image + command: | + docker build --cache-from=app -t app . + - deploy: + name: Publish application to docker hub + command: | + docker login -e $PROD_EMAIL -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: @@ -141,3 +161,12 @@ workflows: filters: branches: only: main + - docker-build-and-push: + requires: + - build + - lint + - back-test-e2e + - back-test-unit + filters: + branches: + only: main \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 43ad3dd..2005d11 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ COPY . . RUN yarn run build -FROM node:lts-fermium as development +FROM node:lts-fermium as production ARG NODE_ENV=production ENV NODE_ENV=${NODE_ENV}