build(docker): build once on BUILDPLATFORM

This commit is contained in:
Travis Shivers 2020-08-31 19:05:56 -05:00
parent b66d7226ed
commit 0820150385
No known key found for this signature in database
GPG Key ID: EE4CC2891B8FCD33
2 changed files with 11 additions and 7 deletions

View File

@ -1,15 +1,11 @@
# base environment
FROM node:current-alpine as base-stage
# build environment
FROM --platform=$BUILDPLATFORM base-stage as build-stage
RUN mkdir /app && chown -R node:node /app
WORKDIR /app
RUN apk add --no-cache python make g++
USER node
COPY --chown=node:node package*.json ./
RUN SKIP_BUILD=true npm ci
# build environment
FROM --platform=$BUILDPLATFORM base-stage as build-stage
COPY --chown=node:node . .
ARG VERSION
@ -18,7 +14,13 @@ ARG REVISION
RUN npm run build
# dependency environment
FROM base-stage as dependency-stage
FROM node:current-alpine as dependency-stage
RUN mkdir /app && chown -R node:node /app
WORKDIR /app
RUN apk add --no-cache python make g++
USER node
COPY --chown=node:node package*.json ./
RUN SKIP_BUILD=true npm ci
RUN npm prune --production
# production environment

View File

@ -2,6 +2,8 @@
FROM --platform=$BUILDPLATFORM node:current-alpine as build-stage
RUN mkdir /app && chown -R node:node /app
WORKDIR /app
RUN apk add --no-cache python make g++
USER node
COPY --chown=node:node package*.json ./
RUN SKIP_BUILD=true npm ci
COPY --chown=node:node . .