Browse Source

Merge pull request #4 from Anatole-DC/docker_deploy

Docker deploy
main
Anatole De Chauveron 4 years ago
committed by GitHub
parent
commit
9df191883a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 29
      .circleci/config.yml
  2. 28
      Dockerfile

29
.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

28
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 production
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"]
Loading…
Cancel
Save