Files
smartsoltech_site/SCRIPTS_README.md
Andrey K. Choi bd028d09e6 🔧 Enhanced update script with remote repository selection
- Add support for origin/backup remote selection
- Improved Git conflict handling
- Enhanced backup functionality
- Updated documentation with usage examples
- Better error handling and validation
2025-11-25 06:43:01 +09:00

176 lines
6.2 KiB
Markdown
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.

# SmartSolTech - Скрипты управления проектом
Этот набор скриптов предназначен для автоматизации процессов разработки и развертывания проекта SmartSolTech.
## Доступные скрипты
### 🚀 `./update.sh` - Полное обновление проекта
Выполняет полный цикл обновления:
- Создание бэкапа в удаленном репозитории
- Обновление кода из Git (origin или backup)
- Остановка текущих контейнеров
- Пересборка Docker образов
- Запуск новых контейнеров
- Выполнение миграций Django
- Сбор статических файлов
- Проверка здоровья сервисов
**Использование:**
```bash
./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 # Показать статус сервисов
```
**Примеры использования удаленных репозиториев:**
```bash
# Стандартное обновление из основного репозитория
./update.sh
# Обновление из резервного репозитория (если основной недоступен)
./update.sh backup
# Обновление из основного репозитория с созданием бэкапа в резервном
./update.sh origin backup
# Переключение на резервный сервер с бэкапом в основной
./update.sh backup origin
```
### ▶️ `./start.sh` - Быстрый запуск
Быстро запускает все сервисы проекта:
- Запуск Docker контейнеров
- Проверка статуса сервисов
- Отображение доступных ресурсов
**Использование:**
```bash
./start.sh
```
### ⏹️ `./stop.sh` - Остановка сервисов
Останавливает сервисы с различными опциями:
- Простая остановка контейнеров
- Остановка с удалением контейнеров и волюмов
- Полная очистка (включая образы)
**Использование:**
```bash
./stop.sh # Простая остановка
./stop.sh --remove # Остановка + удаление контейнеров и волюмов
./stop.sh --clean # Полная очистка (контейнеры + образы + волюмы)
./stop.sh --help # Показать справку
```
### 📋 `./logs.sh` - Просмотр логов
Показывает логи сервисов в реальном времени:
- Все логи или конкретного сервиса
- Последние N строк логов
- Интерактивный режим
**Использование:**
```bash
./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 автоматически очищаются для избежания конфликтов
- Проверка статуса сервисов после запуска
## Примеры использования
### Ежедневное обновление
```bash
# Полное обновление с проверкой
./update.sh
# Если что-то пошло не так - смотрим логи
./logs.sh --tail 100
```
### Разработка
```bash
# Запуск для разработки
./start.sh
# Просмотр логов во время разработки
./logs.sh web
# Остановка после работы
./stop.sh
```
### Полная перезагрузка
```bash
# Полная очистка и пересборка
./stop.sh --clean
./update.sh
```
## Troubleshooting
### Проблемы с контейнерами
```bash
# Проверить статус
./logs.sh --help
docker-compose ps
# Перезапустить проблемный сервис
docker-compose restart web
```
### Проблемы с базой данных
```bash
# Проверить логи БД
./logs.sh db
# Принудительная пересборка
./stop.sh --remove
./update.sh
```
### Проблемы с Git
```bash
# Проверить статус
git status
# Восстановить из stash если нужно
git stash list
git stash apply
```
## Настройка автоматического обновления
Добавьте в crontab для автоматического обновления:
```bash
# Обновление каждый день в 3:00 утра
0 3 * * * cd /path/to/project && ./update.sh >> /var/log/smartsoltech-update.log 2>&1
```