chore: optimize Dockerfile for pnpm usage and build process

This commit is contained in:
Keisuke Hirata 2024-12-18 07:14:14 +09:00
parent 992c99d2fb
commit 3e32df5761

View File

@ -1,19 +1,24 @@
# For Build
FROM node:22-slim as builder
FROM node:22-slim AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
WORKDIR /app
COPY package.json ./
COPY package-lock.json ./
COPY pnpm-lock.yaml ./
COPY tsconfig.json ./
RUN npm ci
FROM base AS builder
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
COPY . .
RUN pnpm run build
RUN npm run build
# For Run
FROM node:22-slim
FROM base
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
WORKDIR /app