Browse Source
Merge pull request #4 from Anatole-DC/docker_deploy
Docker deploy
main
Anatole De Chauveron
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
57 additions and
0 deletions
-
.circleci/config.yml
-
Dockerfile
|
|
@ -103,6 +103,26 @@ jobs: |
|
|
name: Deploy app |
|
|
name: Deploy app |
|
|
command: yarn netlify deploy --auth $NETLIFY_AUTH_TOKEN --dir /tmp/server-doc --site $NETLIFY_SITE_ID --prod |
|
|
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: |
|
|
workflows: |
|
|
version: 2 |
|
|
version: 2 |
|
|
build-test-and-lint: |
|
|
build-test-and-lint: |
|
|
@ -141,3 +161,12 @@ workflows: |
|
|
filters: |
|
|
filters: |
|
|
branches: |
|
|
branches: |
|
|
only: main |
|
|
only: main |
|
|
|
|
|
- docker-build-and-push: |
|
|
|
|
|
requires: |
|
|
|
|
|
- build |
|
|
|
|
|
- lint |
|
|
|
|
|
- back-test-e2e |
|
|
|
|
|
- back-test-unit |
|
|
|
|
|
filters: |
|
|
|
|
|
branches: |
|
|
|
|
|
only: main |
|
|
@ -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"] |