Add deployment scripts and documentation
This commit is contained in:
157
SCRIPTS_README.md
Normal file
157
SCRIPTS_README.md
Normal file
@@ -0,0 +1,157 @@
|
||||
# SmartSolTech - Скрипты управления проектом
|
||||
|
||||
Этот набор скриптов предназначен для автоматизации процессов разработки и развертывания проекта SmartSolTech.
|
||||
|
||||
## Доступные скрипты
|
||||
|
||||
### 🚀 `./update.sh` - Полное обновление проекта
|
||||
Выполняет полный цикл обновления:
|
||||
- Создание бэкапа в удаленном репозитории
|
||||
- Обновление кода из Git
|
||||
- Остановка текущих контейнеров
|
||||
- Пересборка Docker образов
|
||||
- Запуск новых контейнеров
|
||||
- Выполнение миграций Django
|
||||
- Сбор статических файлов
|
||||
- Проверка здоровья сервисов
|
||||
|
||||
**Использование:**
|
||||
```bash
|
||||
./update.sh # Полное обновление
|
||||
./update.sh --help # Показать справку
|
||||
./update.sh --logs # Показать логи без обновления
|
||||
./update.sh --status # Показать статус сервисов
|
||||
```
|
||||
|
||||
### ▶️ `./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
|
||||
```
|
||||
Reference in New Issue
Block a user