ajustes
This commit is contained in:
parent
8a3b661a53
commit
ee703a364c
1 changed files with 13 additions and 8 deletions
|
|
@ -3,15 +3,17 @@
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
FROM mirror.gcr.io/library/node:20-alpine AS base
|
FROM mirror.gcr.io/library/node:20-alpine AS base
|
||||||
|
|
||||||
# Configurações básicas e pnpm
|
# Configurações básicas e pnpm com Mirror fix para evitar travamentos
|
||||||
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirror.leaseweb.com/g' /etc/apk/repositories && \
|
||||||
|
apk add --no-cache libc6-compat
|
||||||
|
|
||||||
RUN corepack enable && corepack prepare pnpm@latest --activate
|
RUN corepack enable && corepack prepare pnpm@latest --activate
|
||||||
RUN apk add --no-cache libc6-compat
|
|
||||||
|
|
||||||
ENV PNPM_HOME="/pnpm"
|
ENV PNPM_HOME="/pnpm"
|
||||||
ENV PATH="$PNPM_HOME:$PATH"
|
ENV PATH="$PNPM_HOME:$PATH"
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Stage 1: Dependencies (Instalação real aqui)
|
# Stage 1: Dependencies
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
FROM base AS deps
|
FROM base AS deps
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
@ -19,8 +21,10 @@ WORKDIR /app
|
||||||
# Copia apenas os arquivos de definição
|
# Copia apenas os arquivos de definição
|
||||||
COPY package.json pnpm-lock.yaml ./
|
COPY package.json pnpm-lock.yaml ./
|
||||||
|
|
||||||
# Instalamos as dependências de forma clássica (sem --mount para não quebrar no Drone)
|
# Configura timeout e retry para o pnpm não travar em redes instáveis
|
||||||
RUN pnpm install --frozen-lockfile
|
RUN pnpm config set fetch-retries 5 && \
|
||||||
|
pnpm config set fetch-retry-maxtimeout 600000 && \
|
||||||
|
pnpm install --frozen-lockfile
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Stage 2: Builder
|
# Stage 2: Builder
|
||||||
|
|
@ -38,8 +42,7 @@ COPY . .
|
||||||
RUN pnpm build && \
|
RUN pnpm build && \
|
||||||
rm -rf node_modules/.cache
|
rm -rf node_modules/.cache
|
||||||
|
|
||||||
# Remove dependências de desenvolvimento para diminuir a imagem final
|
# Remove dependências de desenvolvimento
|
||||||
# Removido --mount para compatibilidade com seu ambiente
|
|
||||||
RUN pnpm prune --prod
|
RUN pnpm prune --prod
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
@ -47,7 +50,9 @@ RUN pnpm prune --prod
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
FROM mirror.gcr.io/library/node:20-alpine AS runner
|
FROM mirror.gcr.io/library/node:20-alpine AS runner
|
||||||
|
|
||||||
RUN addgroup -g 1001 -S nodejs && \
|
# Mirror fix também na imagem final (boa prática para auditorias ou instalações extras)
|
||||||
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirror.leaseweb.com/g' /etc/apk/repositories && \
|
||||||
|
addgroup -g 1001 -S nodejs && \
|
||||||
adduser -S nestjs -u 1001 -G nodejs
|
adduser -S nestjs -u 1001 -G nodejs
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue