Fix docker build (#2348)
* .eslintrc.json is required to build using react-scripts * Remove the extra "deps" step This step can be done as part of the build (faster and more reliable). * Add a GitHub Actions to build the Docker image Make sure that "docker build" is working on every pull request before landing on master. * Update package-lock.json * Add .prettierrc in the Docker image to avoid warnings in the build step * Revert "Update package-lock.json" This reverts commit 7ef2eaadfae610771987bc8155670b895c139e7b. * Make sure that the 'node_modules' layer can be cached if package and package-lock.json didn't changed
This commit is contained in:
committed by
GitHub
parent
a05679b3c5
commit
5b63371c14
25
Dockerfile
25
Dockerfile
@ -1,25 +1,14 @@
|
||||
FROM node:14-alpine AS deps
|
||||
|
||||
ARG REACT_APP_INCLUDE_GTAG=false
|
||||
|
||||
RUN mkdir /opt/node_app && chown node:node /opt/node_app
|
||||
WORKDIR /opt/node_app
|
||||
|
||||
USER node
|
||||
|
||||
COPY package.json package-lock.json ./
|
||||
RUN npm install --no-optional && npm cache clean --force
|
||||
ENV PATH /opt/node_app/node_modules/.bin:$PATH
|
||||
|
||||
WORKDIR /opt/node_app
|
||||
COPY . .
|
||||
|
||||
FROM node:14-alpine AS build
|
||||
|
||||
WORKDIR /opt/node_app
|
||||
|
||||
COPY package.json package-lock.json ./
|
||||
RUN npm i --no-optional
|
||||
|
||||
ARG REACT_APP_INCLUDE_GTAG=false
|
||||
ARG NODE_ENV=production
|
||||
|
||||
WORKDIR /opt/node_app
|
||||
COPY --from=deps /opt/node_app .
|
||||
COPY . .
|
||||
RUN npm run build:app:docker
|
||||
|
||||
FROM nginx:1.17-alpine
|
||||
|
Reference in New Issue
Block a user