- Добавлена полная интеграция с 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 интеграции
5.4 KiB
5.4 KiB
🚀 Руководство по деплою: DEV → PROD
📍 Текущая структура
- DEV: http://147.45.146.17:5177/ (папка
aiform_dev/) - PROD: https://aiform.clientright.ru/ (домен продакшна)
🎯 Быстрый перенос изменений (1 команда)
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
./deploy-to-prod.sh
Этот скрипт:
- ✅ Проверит незакоммиченные изменения
- ✅ Отправит код в git репозитории (dev и prod)
- ✅ Пересоберёт PROD контейнеры
- ✅ Перезапустит PROD окружение
📝 Пошаговый процесс (вручную)
Шаг 1: Сохранить изменения в git
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 репозиторий
# Отправить в prod
git push aiform_prod main # или master
Шаг 3: Обновить PROD контейнеры
# Пересобрать
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:
environment:
- APP_ENV=development # Переопределяет значение из .env
- DEBUG=true
В docker-compose.prod.yml:
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
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
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
# Проверить статус
docker-compose -f docker-compose.prod.yml ps
# Проверить логи
docker-compose -f docker-compose.prod.yml logs -f
# Открыть в браузере
# https://aiform.clientright.ru/
⚠️ Важные моменты
- Всегда тестируйте в DEV перед деплоем в PROD
- Проверяйте
.envфайл — убедитесь что там правильные настройки - В PROD
APP_ENV=productionиDEBUG=false(устанавливается через docker-compose) - Не коммитьте
.env— он в.gitignore - После деплоя проверяйте логи —
docker-compose -f docker-compose.prod.yml logs
🐛 Откат изменений (если что-то пошло не так)
# Откатить к предыдущему коммиту
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
📞 Полезные команды
# Статус контейнеров
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