Files
global_it24_landing/check-build-progress.sh

67 lines
2.6 KiB
Bash
Executable File

#!/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