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

5.4 KiB
Raw Permalink Blame History

🚀 Руководство по деплою: DEV → PROD

📍 Текущая структура


🎯 Быстрый перенос изменений (1 команда)

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

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/

⚠️ Важные моменты

  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

🐛 Откат изменений (если что-то пошло не так)

# Откатить к предыдущему коммиту
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