- Add support for origin/backup remote selection - Improved Git conflict handling - Enhanced backup functionality - Updated documentation with usage examples - Better error handling and validation
6.2 KiB
6.2 KiB
SmartSolTech - Скрипты управления проектом
Этот набор скриптов предназначен для автоматизации процессов разработки и развертывания проекта SmartSolTech.
Доступные скрипты
🚀 ./update.sh - Полное обновление проекта
Выполняет полный цикл обновления:
- Создание бэкапа в удаленном репозитории
- Обновление кода из Git (origin или backup)
- Остановка текущих контейнеров
- Пересборка Docker образов
- Запуск новых контейнеров
- Выполнение миграций Django
- Сбор статических файлов
- Проверка здоровья сервисов
Использование:
./update.sh # Обновление из origin (по умолчанию)
./update.sh origin # Обновление из origin репозитория
./update.sh backup # Обновление из backup репозитория
./update.sh origin backup # Обновление из origin с бэкапом в backup
./update.sh backup origin # Обновление из backup с бэкапом в origin
./update.sh --help # Показать справку
./update.sh --logs # Показать логи без обновления
./update.sh --status # Показать статус сервисов
Примеры использования удаленных репозиториев:
# Стандартное обновление из основного репозитория
./update.sh
# Обновление из резервного репозитория (если основной недоступен)
./update.sh backup
# Обновление из основного репозитория с созданием бэкапа в резервном
./update.sh origin backup
# Переключение на резервный сервер с бэкапом в основной
./update.sh backup origin
▶️ ./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 # Показать справку
Доступные сервисы
После запуска будут доступны:
- Веб-сайт: http://localhost:8000
- Админка Django: http://localhost:8000/admin
- PgAdmin: http://localhost:8080
Требования
Убедитесь что установлены:
- 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