#!/bin/bash # Скрипт для обновления и перезапуска приложения через Docker # Использование: ./deploy.sh set -e # Остановка при ошибке echo "🚀 Начинаем обновление..." echo "" echo "📥 Шаг 1/4: Обновление кода из Git..." git pull if [ $? -eq 0 ]; then echo "✅ Git pull выполнен успешно" else echo "❌ Ошибка при git pull" exit 1 fi echo "" echo "🛑 Шаг 2/4: Остановка контейнеров..." docker compose down if [ $? -eq 0 ]; then echo "✅ Контейнеры остановлены" else echo "❌ Ошибка при остановке контейнеров" exit 1 fi echo "" echo "🔨 Шаг 3/4: Сборка образов (без кеша)..." docker compose build --no-cache if [ $? -eq 0 ]; then echo "✅ Образы собраны успешно" else echo "❌ Ошибка при сборке образов" exit 1 fi echo "" echo "▶️ Шаг 4/4: Запуск контейнеров..." docker compose up -d if [ $? -eq 0 ]; then echo "✅ Контейнеры запущены" else echo "❌ Ошибка при запуске контейнеров" exit 1 fi echo "" echo "🎉 Обновление завершено успешно!" echo "" echo "📊 Статус контейнеров:" docker compose ps