Compare commits
2 Commits
fc01a3ebcd
...
f7eb6ddb1a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f7eb6ddb1a | ||
|
|
f7457931ab |
File diff suppressed because one or more lines are too long
34
Dockerfile
34
Dockerfile
@@ -1,25 +1,35 @@
|
||||
|
||||
# Многоступенчатая сборка для оптимизации размера образа
|
||||
|
||||
# Стадия 1: Установка зависимостей
|
||||
FROM node:18-alpine AS deps
|
||||
RUN apk add --no-cache libc6-compat openssl python3 make g++
|
||||
# Стадия 1: Установка ТОЛЬКО production зависимостей (быстро)
|
||||
FROM node:18-alpine AS prod-deps
|
||||
RUN apk add --no-cache libc6-compat openssl
|
||||
WORKDIR /app
|
||||
|
||||
# Копируем файлы зависимостей
|
||||
COPY nextjs_space/package.json nextjs_space/yarn.lock ./
|
||||
|
||||
# Настройки для ускорения компиляции
|
||||
ENV NODE_ENV=development
|
||||
ENV NODE_ENV=production
|
||||
ENV SKIP_SASS_BINARY_DOWNLOAD_FOR_CI=true
|
||||
ENV SKIP_NODE_SASS_TESTS=true
|
||||
ENV CYPRESS_INSTALL_BINARY=0
|
||||
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
||||
|
||||
# Устанавливаем все зависимости одним вызовом
|
||||
RUN yarn install --immutable --network-timeout 600000
|
||||
# Только production зависимости - БЫСТРО!
|
||||
RUN yarn install --production --frozen-lockfile --network-timeout 300000
|
||||
|
||||
# Стадия 2: Сборка приложения
|
||||
# Стадия 2: Установка ВСЕХ зависимостей для сборки (медленно, но с кешем)
|
||||
FROM node:18-alpine AS deps
|
||||
RUN apk add --no-cache libc6-compat openssl python3 make g++
|
||||
WORKDIR /app
|
||||
COPY nextjs_space/package.json nextjs_space/yarn.lock ./
|
||||
|
||||
ENV NODE_ENV=development
|
||||
ENV SKIP_SASS_BINARY_DOWNLOAD_FOR_CI=true
|
||||
ENV CYPRESS_INSTALL_BINARY=0
|
||||
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
||||
|
||||
# Все зависимости для сборки (с кешем из предыдущей стадии)
|
||||
RUN yarn install --frozen-lockfile --network-timeout 300000
|
||||
|
||||
# Стадия 3: Сборка приложения
|
||||
FROM node:18-alpine AS builder
|
||||
RUN apk add --no-cache libc6-compat openssl
|
||||
WORKDIR /app
|
||||
@@ -43,7 +53,7 @@ ENV NEXT_TELEMETRY_DISABLED=1
|
||||
# Собираем приложение
|
||||
RUN yarn build
|
||||
|
||||
# Стадия 3: Production образ
|
||||
# Стадия 4: Production образ (runtime)
|
||||
FROM node:18-alpine AS runner
|
||||
WORKDIR /app
|
||||
|
||||
|
||||
Reference in New Issue
Block a user