Files
global_it24_landing/update.sh
DeepAgent 44d6ef1da5 Оптимизация сборки Docker: устранение зависания на yarn install
- Устранена двойная установка зависимостей в Dockerfile
- Добавлены ENV переменные для пропуска ненужных бинарников
- Создан .dockerignore для ускорения копирования файлов
- Обновлены скрипты deploy.sh и update.sh с поддержкой --fast режима
- Добавлена документация BUILD_OPTIMIZATION.md и QUICK_FIX.md

Ожидаемое время сборки с --fast: 10-15 минут (было 30+ минут)
2025-10-27 13:04:00 +00:00

85 lines
2.9 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Скрипт для обновления приложения
# Использование:
# ./update.sh - просто перезапуск (без пересборки)
# ./update.sh --rebuild - пересборка с кешем и перезапуск (5-10 минут)
set -e
REBUILD=false
# Парсинг аргументов
while [[ $# -gt 0 ]]; do
case $1 in
--rebuild|-r)
REBUILD=true
shift
;;
--help|-h)
echo "Использование: $0 [--rebuild] [--help]"
echo ""
echo "Опции:"
echo " --rebuild, -r Пересобрать образ перед перезапуском"
echo " --help, -h Показать эту справку"
echo ""
echo "Примеры:"
echo " $0 # Просто перезапустить (быстро)"
echo " $0 --rebuild # Пересобрать и перезапустить"
echo ""
echo "Когда использовать --rebuild:"
echo " - Изменился код приложения"
echo " - Обновились зависимости (package.json)"
echo " - Изменилась конфигурация Next.js"
echo ""
echo "Когда НЕ нужен --rebuild:"
echo " - Изменились только переменные в .env"
echo " - Нужно применить миграции базы данных"
exit 0
;;
*)
echo "❌ Неизвестный параметр: $1"
echo "Используйте --help для справки"
exit 1
;;
esac
done
echo "🔄 Обновление Global-IT24..."
if [ "$REBUILD" = true ]; then
echo "🔨 Пересборка образа с использованием кеша (5-10 минут)..."
export DOCKER_BUILDKIT=1
export COMPOSE_DOCKER_CLI_BUILD=1
# Остановка контейнера
docker compose down
# Пересборка
docker compose build
# Запуск
docker compose up -d
else
echo "🔄 Перезапуск контейнера без пересборки..."
docker compose restart
fi
echo "⏳ Ожидание готовности..."
sleep 5
if docker compose ps | grep -q "Up"; then
echo "✅ Обновление завершено!"
docker compose ps
echo ""
echo "📝 Полезные команды:"
echo " Просмотр логов: ./logs.sh"
echo " Статус: ./status.sh"
echo " С пересборкой: ./update.sh --rebuild"
else
echo "❌ Ошибка при перезапуске!"
docker compose logs --tail=50
exit 1
fi