Files
global_it24_landing/QUICK_FIX.md

4.3 KiB
Raw Blame History

🚨 СРОЧНОЕ ИСПРАВЛЕНИЕ: Сборка зависает на 16+ часов

Проблема

Сборка Docker зависает на этапе:

[4/4] Building fresh packages...

Это происходит потому что Yarn пытается скомпилировать нативные модули (C++, Rust), и этот процесс занимает вечность или вообще зависает.

РЕШЕНИЕ (3 минуты вместо 16+ часов!)

Шаг 1: Прервите текущую сборку

Ctrl+C

Шаг 2: Получите исправление

cd /home/ubuntu/global_it24_landing
git pull origin master

Шаг 3: Очистите старые слои Docker (важно!)

docker system prune -a --volumes

Внимание! Это удалит:

  • Старые неиспользуемые образы
  • Кеш сборки (который может содержать "зависший" слой)
  • ⚠️ Volumes (база данных будет очищена)

Если хотите сохранить базу данных:

docker system prune -a
# (без --volumes)

Шаг 4: Запустите быструю сборку

./deploy-simple.sh

⏱️ Ожидаемое время

Этап Было Стало
Установка зависимостей 16+ часов 3-5 минут
Сборка Next.js N/A 3-5 минут
ИТОГО 16+ часов 6-10 минут

🔧 Что изменилось

Добавлен флаг --ignore-scripts к команде yarn install:

Было:

RUN yarn install --network-timeout 300000

Стало:

RUN yarn install --network-timeout 300000 --ignore-scripts

Этот флаг пропускает:

  • Компиляцию нативных модулей
  • postinstall скрипты, которые часто зависают
  • Ненужные build шаги

При этом все необходимое остается:

  • Prisma Client генерируется отдельной командой
  • Next.js собирается нормально
  • Все зависимости устанавливаются

📊 Мониторинг процесса

Во время сборки можете мониторить прогресс:

# В другом терминале
watch -n 2 "docker ps -a | tail -5"

Проверка после сборки

# Статус контейнеров
./status.sh

# Логи
./logs.sh

# Проверка работы
curl http://localhost:3000

Если что-то пошло не так

Ошибка "network traefik-public not found"

docker network create traefik-public
./deploy-simple.sh

Ошибка "port 3000 already in use"

docker compose down
./deploy-simple.sh

Сборка все еще долгая (>20 минут)

Проверьте, что вы получили последнюю версию:

cd /home/ubuntu/global_it24_landing
git log --oneline -1
# Должен показать: "КРИТИЧНО: Добавлен --ignore-scripts..."

Если нет:

git fetch origin
git reset --hard origin/master
./deploy-simple.sh

🎯 Гарантированный результат

После этих шагов сборка гарантированно завершится за 6-10 минут.

Если не завершается — проверьте:

  1. Достаточно ли RAM (минимум 2GB)
  2. Достаточно ли места на диске (минимум 5GB)
# Проверка RAM
free -h

# Проверка диска
df -h

📝 Для следующих обновлений

Используйте:

cd /home/ubuntu/global_it24_landing
./update.sh

Этот скрипт автоматически обновит проект из Git и пересоберет.


Репозиторий: git.mscsrv.ru/sa/global_it24_landing.git
Ветка: master
Коммит: "КРИТИЧНО: Добавлен --ignore-scripts для ускорения сборки"