# CI/CD Troubleshooting Guide ## Проблемы со сборкой Docker ### 1. Сборка зависает на npm install **Симптомы:** - CI зависает на этапе `RUN npm install` - Время сборки превышает 20 минут - Ошибки сетевого подключения **Решения:** #### A. Использовать оптимизированный Dockerfile ```bash # Основной оптимизированный docker build -f Dockerfile . # Быстрый с Alpine docker build -f Dockerfile.fast . # Простой тестовый docker build -f Dockerfile.test . ``` #### B. Проверить сетевые настройки ```bash # В CI добавить таймауты npm config set fetch-timeout 300000 npm config set fetch-retry-mintimeout 20000 npm config set fetch-retry-maxtimeout 120000 ``` #### C. Использовать кэширование ```yaml # В 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: Основной оптимизированный ```bash # Использует обновленный Dockerfile с кэшированием git push origin tabler ``` ### Вариант 2: Быстрый с Alpine ```bash # Использовать Dockerfile.fast (уже исправлен) git push origin tabler ``` ### Вариант 3: Локальная сборка для тестирования ```bash # Собрать локально для проверки docker build -t test-image . docker run -p 3001:3001 test-image ``` ## Мониторинг CI/CD ### Проверить статус сборки 1. Зайти в Gitea → Repository → Actions 2. Найти последний workflow 3. Проверить логи на каждом этапе ### Типичные времена сборки - **Оптимизированный Dockerfile**: 5-10 минут - **Быстрый Dockerfile**: 3-7 минут - **С кэшированием**: 2-5 минут (повторные сборки) ## Контакты для поддержки Если проблемы продолжаются: 1. Проверить логи CI/CD 2. Попробовать локальную сборку 3. Создать issue с логами ошибок