Files
smartsoltech_site/SCRIPTS_README.md

5.2 KiB
Raw Blame History

SmartSolTech - Скрипты управления проектом

Этот набор скриптов предназначен для автоматизации процессов разработки и развертывания проекта SmartSolTech.

Доступные скрипты

🚀 ./update.sh - Полное обновление проекта

Выполняет полный цикл обновления:

  • Создание бэкапа в удаленном репозитории
  • Обновление кода из Git
  • Остановка текущих контейнеров
  • Пересборка Docker образов
  • Запуск новых контейнеров
  • Выполнение миграций Django
  • Сбор статических файлов
  • Проверка здоровья сервисов

Использование:

./update.sh              # Полное обновление
./update.sh --help        # Показать справку
./update.sh --logs        # Показать логи без обновления
./update.sh --status      # Показать статус сервисов

▶️ ./start.sh - Быстрый запуск

Быстро запускает все сервисы проекта:

  • Запуск Docker контейнеров
  • Проверка статуса сервисов
  • Отображение доступных ресурсов

Использование:

./start.sh

⏹️ ./stop.sh - Остановка сервисов

Останавливает сервисы с различными опциями:

  • Простая остановка контейнеров
  • Остановка с удалением контейнеров и волюмов
  • Полная очистка (включая образы)

Использование:

./stop.sh              # Простая остановка
./stop.sh --remove      # Остановка + удаление контейнеров и волюмов
./stop.sh --clean       # Полная очистка (контейнеры + образы + волюмы)
./stop.sh --help        # Показать справку

📋 ./logs.sh - Просмотр логов

Показывает логи сервисов в реальном времени:

  • Все логи или конкретного сервиса
  • Последние N строк логов
  • Интерактивный режим

Использование:

./logs.sh              # Все логи в реальном времени
./logs.sh web           # Логи только веб-сервера
./logs.sh db            # Логи базы данных
./logs.sh pgadmin       # Логи PgAdmin
./logs.sh --tail 50     # Последние 50 строк
./logs.sh --help        # Показать справку

Доступные сервисы

После запуска будут доступны:

Требования

Убедитесь что установлены:

  • Git
  • Docker
  • Docker Compose
  • curl (для проверки здоровья)

Безопасность

  • Скрипт автоматически создает бэкапы перед обновлением
  • Локальные изменения сохраняются в Git stash
  • Staticfiles автоматически очищаются для избежания конфликтов
  • Проверка статуса сервисов после запуска

Примеры использования

Ежедневное обновление

# Полное обновление с проверкой
./update.sh

# Если что-то пошло не так - смотрим логи
./logs.sh --tail 100

Разработка

# Запуск для разработки
./start.sh

# Просмотр логов во время разработки
./logs.sh web

# Остановка после работы
./stop.sh

Полная перезагрузка

# Полная очистка и пересборка
./stop.sh --clean
./update.sh

Troubleshooting

Проблемы с контейнерами

# Проверить статус
./logs.sh --help
docker-compose ps

# Перезапустить проблемный сервис
docker-compose restart web

Проблемы с базой данных

# Проверить логи БД
./logs.sh db

# Принудительная пересборка
./stop.sh --remove
./update.sh

Проблемы с Git

# Проверить статус
git status

# Восстановить из stash если нужно
git stash list
git stash apply

Настройка автоматического обновления

Добавьте в crontab для автоматического обновления:

# Обновление каждый день в 3:00 утра
0 3 * * * cd /path/to/project && ./update.sh >> /var/log/smartsoltech-update.log 2>&1