Оптимизация сборки Docker: устранение зависания на yarn install
- Устранена двойная установка зависимостей в Dockerfile - Добавлены ENV переменные для пропуска ненужных бинарников - Создан .dockerignore для ускорения копирования файлов - Обновлены скрипты deploy.sh и update.sh с поддержкой --fast режима - Добавлена документация BUILD_OPTIMIZATION.md и QUICK_FIX.md Ожидаемое время сборки с --fast: 10-15 минут (было 30+ минут)
This commit is contained in:
12
Dockerfile
12
Dockerfile
@@ -9,11 +9,15 @@ WORKDIR /app
|
||||
# Копируем файлы зависимостей
|
||||
COPY nextjs_space/package.json nextjs_space/yarn.lock ./
|
||||
|
||||
# Устанавливаем только production зависимости
|
||||
RUN yarn install --production --frozen-lockfile --network-timeout 600000
|
||||
# Настройки для ускорения компиляции
|
||||
ENV NODE_ENV=development
|
||||
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
|
||||
|
||||
# Устанавливаем dev зависимости отдельно
|
||||
RUN yarn install --frozen-lockfile --network-timeout 600000
|
||||
# Устанавливаем все зависимости одним вызовом
|
||||
RUN yarn install --immutable --network-timeout 600000
|
||||
|
||||
# Стадия 2: Сборка приложения
|
||||
FROM node:18-alpine AS builder
|
||||
|
||||
Reference in New Issue
Block a user