4.3 KiB
4.3 KiB
🚨 СРОЧНОЕ ИСПРАВЛЕНИЕ: Сборка зависает на 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 минут.
Если не завершается — проверьте:
- Достаточно ли RAM (минимум 2GB)
- Достаточно ли места на диске (минимум 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 для ускорения сборки"