diff --git a/check-build-progress.sh b/check-build-progress.sh new file mode 100755 index 0000000..abfe14e --- /dev/null +++ b/check-build-progress.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +# Скрипт для мониторинга прогресса сборки Docker образа +# Использование: ./check-build-progress.sh + +echo "📊 Мониторинг прогресса сборки Docker образа" +echo "════════════════════════════════════════════════════════════" +echo "" + +# Функция для проверки запущенных контейнеров +check_containers() { + echo "🐳 Запущенные контейнеры:" + docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" + echo "" +} + +# Функция для проверки ресурсов +check_resources() { + echo "💻 Использование ресурсов Docker:" + docker stats --no-stream --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}" + echo "" +} + +# Функция для проверки кеша сборки +check_cache() { + echo "📦 Кеш Docker Builder:" + docker builder du + echo "" +} + +# Функция для последних логов +check_logs() { + echo "📝 Последние логи (если контейнер запущен):" + if docker ps | grep -q "global-it24-web"; then + docker logs global-it24-web --tail 20 2>&1 | head -20 + else + echo " Контейнер web еще не запущен" + fi + echo "" +} + +# Основной цикл +while true; do + clear + echo "📊 Мониторинг прогресса сборки - $(date '+%H:%M:%S')" + echo "════════════════════════════════════════════════════════════" + echo "" + + # Проверка свободных ресурсов системы + echo "🖥️ Системные ресурсы:" + echo " RAM: $(free -h | awk '/^Mem:/ {printf "%s / %s (использовано: %s)", $3, $2, $3/$2*100"%"}')" + echo " Диск: $(df -h / | awk 'NR==2 {printf "%s / %s (использовано: %s)", $3, $2, $5}')" + echo "" + + check_containers + check_resources + + echo "💡 Подсказки:" + echo " • Этап 'Building fresh packages' занимает 8-12 минут - это нормально" + echo " • Предупреждения (warnings) - это нормально" + echo " • Для остановки мониторинга: Ctrl+C" + echo "" + echo "⏳ Обновление через 5 секунд..." + + sleep 5 +done