Files
aiform_prod/DEPLOYMENT.md
AI Assistant 2e45786e46 feat: Telegram Mini App integration and UX improvements
- Добавлена полная интеграция с Telegram Mini App (динамическая загрузка SDK)
- Отдельный компактный дизайн для Telegram Mini App
- Добавлен loader при инициализации (предотвращает мелькание SMS-авторизации)
- Улучшена навигация: кнопки "Назад" и "К списку заявок" теперь сохраняют авторизацию
- Telegram Mini App: кнопка "Выход" просто закрывает приложение
- Telegram Mini App: заявки "В работе" скрыты из списка
- Веб-версия: для заявок "В работе" добавлена кнопка "Просмотреть в Telegram" (ссылка на @klientprav_bot)
- Telegram Mini App: кнопки действий в черновиках расположены вертикально
- Веб-версия: убрано отображение номера телефона в приветствии
- Исправлена проблема с возвратом к списку черновиков (не требует повторной SMS-авторизации)
- Заблокировано удаление и редактирование заявок со статусом "В работе"
- Добавлена документация по Telegram Mini App интеграции
2026-01-29 16:12:48 +03:00

204 lines
5.4 KiB
Markdown
Raw Permalink 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.

# 🚀 Руководство по деплою: DEV → PROD
## 📍 Текущая структура
- **DEV:** http://147.45.146.17:5177/ (папка `aiform_dev/`)
- **PROD:** https://aiform.clientright.ru/ (домен продакшна)
---
## 🎯 Быстрый перенос изменений (1 команда)
```bash
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
./deploy-to-prod.sh
```
Этот скрипт:
1. ✅ Проверит незакоммиченные изменения
2. ✅ Отправит код в git репозитории (dev и prod)
3. ✅ Пересоберёт PROD контейнеры
4. ✅ Перезапустит PROD окружение
---
## 📝 Пошаговый процесс (вручную)
### Шаг 1: Сохранить изменения в git
```bash
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
# Проверить что изменилось
git status
# Добавить изменения
git add .
# Закоммитить
git commit -m "feat: Описание изменений"
# Отправить в dev репозиторий
git push aiform_dev main # или master
```
### Шаг 2: Отправить в prod репозиторий
```bash
# Отправить в prod
git push aiform_prod main # или master
```
### Шаг 3: Обновить PROD контейнеры
```bash
# Пересобрать
docker-compose -f docker-compose.prod.yml build
# Перезапустить
docker-compose -f docker-compose.prod.yml down
docker-compose -f docker-compose.prod.yml up -d
```
---
## 🔧 Про .env файл
### Почему один .env, а не два?
**✅ Преимущества одного .env:**
- Проще поддерживать (один файл вместо двух)
- Меньше путаницы
- Режим переключается через переменную `APP_ENV` в docker-compose
**Как это работает:**
В `docker-compose.dev.yml`:
```yaml
environment:
- APP_ENV=development # Переопределяет значение из .env
- DEBUG=true
```
В `docker-compose.prod.yml`:
```yaml
environment:
- APP_ENV=production # Переопределяет значение из .env
- DEBUG=false
```
**Ваш `.env` файл остаётся один**, но docker-compose переопределяет нужные переменные для каждого окружения.
---
## 📊 Структура репозиториев
```
Gitea (http://147.45.146.17:3002/negodiy):
├─ aiform_dev → DEV версия (http://147.45.146.17:5177/)
├─ aiform_prod → PROD версия (https://aiform.clientright.ru/)
└─ erv-platform → Основной репозиторий
```
**Локальные папки:**
- `/var/www/.../aiform_dev/` → DEV окружение
- `/var/www/.../ticket_form/` → Основной проект (может быть и DEV и PROD)
---
## 🔄 Типичный workflow
### 1. Разработка в DEV
```bash
cd /var/www/fastuser/data/www/crm.clientright.ru/aiform_dev
# или
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
# Вносите изменения
# Тестируете на http://147.45.146.17:5177/
```
### 2. Когда готово → деплой в PROD
```bash
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
# Вариант 1: Автоматический (рекомендуется)
./deploy-to-prod.sh
# Вариант 2: Вручную
git add .
git commit -m "feat: Описание"
git push aiform_prod main
docker-compose -f docker-compose.prod.yml up -d --build
```
### 3. Проверка PROD
```bash
# Проверить статус
docker-compose -f docker-compose.prod.yml ps
# Проверить логи
docker-compose -f docker-compose.prod.yml logs -f
# Открыть в браузере
# https://aiform.clientright.ru/
```
---
## ⚠️ Важные моменты
1. **Всегда тестируйте в DEV перед деплоем в PROD**
2. **Проверяйте `.env` файл** — убедитесь что там правильные настройки
3. **В PROD `APP_ENV=production` и `DEBUG=false`** (устанавливается через docker-compose)
4. **Не коммитьте `.env`** — он в `.gitignore`
5. **После деплоя проверяйте логи**`docker-compose -f docker-compose.prod.yml logs`
---
## 🐛 Откат изменений (если что-то пошло не так)
```bash
# Откатить к предыдущему коммиту
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
git log --oneline -5 # Найти нужный коммит
git checkout <commit-hash>
git push aiform_prod main --force
# Пересобрать
docker-compose -f docker-compose.prod.yml up -d --build
```
---
## 📞 Полезные команды
```bash
# Статус контейнеров
docker ps | grep aiform
# Логи DEV
docker logs aiform_frontend_dev -f
docker logs aiform_backend_dev -f
# Логи PROD
docker logs ticket_form_frontend_prod -f
docker logs ticket_form_backend_prod -f
# Перезапуск PROD
docker-compose -f docker-compose.prod.yml restart
# Полная пересборка PROD
docker-compose -f docker-compose.prod.yml down
docker-compose -f docker-compose.prod.yml up -d --build
```
---
**Автор:** AI Assistant + Фёдор
**Дата:** 2 января 2025