Publish Fast Tabler Docker image / build-and-push-fast (push) Failing after 5m40s
3.0 KiB
3.0 KiB
CI/CD Troubleshooting Guide
Проблемы со сборкой Docker
1. Сборка зависает на npm install
Симптомы:
- CI зависает на этапе
RUN npm install - Время сборки превышает 20 минут
- Ошибки сетевого подключения
Решения:
A. Использовать оптимизированный Dockerfile
# Основной оптимизированный
docker build -f Dockerfile .
# Быстрый с Alpine
docker build -f Dockerfile.fast .
# Простой тестовый
docker build -f Dockerfile.test .
B. Проверить сетевые настройки
# В CI добавить таймауты
npm config set fetch-timeout 300000
npm config set fetch-retry-mintimeout 20000
npm config set fetch-retry-maxtimeout 120000
C. Использовать кэширование
# В CI/CD файле
cache-from: type=gha
cache-to: type=gha,mode=max
2. Проблемы с Node.js версиями
Симптомы:
EBADENGINE Unsupported engine- Ошибки совместимости пакетов
Решения:
- Обновить Dockerfile до Node.js 20
- Проверить совместимость всех зависимостей
3. Проблемы с размером образа
Симптомы:
- Слишком большой размер Docker образа
- Медленная загрузка
Решения:
- Использовать Alpine Linux (
node:20-alpine) - Добавить
.dockerignore - Использовать multi-stage builds
Быстрые решения
Вариант 1: Основной оптимизированный
# Использует обновленный Dockerfile с кэшированием
git push origin tabler
Вариант 2: Быстрый с Alpine
# Использовать Dockerfile.fast (уже исправлен)
git push origin tabler
Вариант 3: Локальная сборка для тестирования
# Собрать локально для проверки
docker build -t test-image .
docker run -p 3001:3001 test-image
Мониторинг CI/CD
Проверить статус сборки
- Зайти в Gitea → Repository → Actions
- Найти последний workflow
- Проверить логи на каждом этапе
Типичные времена сборки
- Оптимизированный Dockerfile: 5-10 минут
- Быстрый Dockerfile: 3-7 минут
- С кэшированием: 2-5 минут (повторные сборки)
Контакты для поддержки
Если проблемы продолжаются:
- Проверить логи CI/CD
- Попробовать локальную сборку
- Создать issue с логами ошибок