sogln | 3131a46 | 2025-04-15 17:01:40 +0800 | [diff] [blame^] | 1 | FROM node:20-alpine AS development-dependencies-env |
| 2 | COPY . /app |
| 3 | WORKDIR /app |
| 4 | RUN npm ci |
| 5 | |
| 6 | FROM node:20-alpine AS production-dependencies-env |
| 7 | COPY ./package.json package-lock.json /app/ |
| 8 | WORKDIR /app |
| 9 | RUN npm ci --omit=dev |
| 10 | |
| 11 | FROM node:20-alpine AS build-env |
| 12 | COPY . /app/ |
| 13 | COPY --from=development-dependencies-env /app/node_modules /app/node_modules |
| 14 | WORKDIR /app |
| 15 | RUN npm run build |
| 16 | |
| 17 | FROM node:20-alpine |
| 18 | COPY ./package.json package-lock.json /app/ |
| 19 | COPY --from=production-dependencies-env /app/node_modules /app/node_modules |
| 20 | COPY --from=build-env /app/build /app/build |
| 21 | WORKDIR /app |
| 22 | CMD ["npm", "run", "start"] |