Управление релизами

Введение

Управление релизами задает повторяемый, проверяемый и восстанавливаемый процесс перехода приложения из разработки в production. Изменения сначала завершаются в разработке, затем проверяются в staging и только после этого публикуются в production. Файлы миграции, резервные копии, логи выполнения и результаты проверки нужно сохранять.

Разработка -> Staging -> Production

Модель релиза

ВозможностьНазначениеЭтап
Управление версиямиСохраняет контрольные точки разработкиРазработка
Переменные и секретыРазделяет настройки и чувствительные данныеВсе окружения
Multi-appРазделяет бизнес-модулиАрхитектура и команды
Резервное копированиеСохраняет восстанавливаемое состояние productionПеред релизом и эксплуатация
МиграцииПубликуют конфигурацию и структуруStaging и production

Настройка окружения

Подключения к БД, адреса внешних сервисов, тестовые учетные записи, токены, API Key и Webhook не следует прописывать напрямую в страницах, workflow или настройках плагинов. Используйте переменные и секреты для каждого окружения.

Связанная документация: Переменные и секреты.

Этап разработки

Создавайте версии до и после значимых изменений моделей данных, страниц, прав, workflow и плагинов. Для публикации между окружениями используйте Migration Manager. Для восстановления production используйте Backup Manager.

Связанная документация: Управление версиями.

Разделение модулей

Небольшая система может начинаться с одного приложения. По мере роста сложности разделяйте CRM, заявки, активы, HR, отчеты или операционный backend на отдельные приложения. Заранее спланируйте пользователей, организации, аутентификацию, права и общие данные.

CRM: Разработка -> Staging -> Production
Заявки: Разработка -> Staging -> Production
Активы: Разработка -> Staging -> Production

Связанная документация: Управление multi-app.

Подготовка

Перед релизом в production создайте резервную копию. Для важных релизов проверьте восстановление в отдельном окружении. Копия должна включать БД, загруженные файлы и необходимые данные storage.

Связанная документация: Управление резервными копиями.

Выполнение релиза

Сначала публикуйте в staging. После успешной проверки используйте тот же файл миграции в production.

20250106234710

20250105194845

20250105195029

В production запланируйте окно обслуживания, уведомите пользователей и остановите новые записи данных. В multi-node развертывании перед миграцией уменьшите приложение до одного узла. После миграции проверьте основные процессы и верните доступ.

Правила миграции

Частые стратегии: перезапись, только структура и пропуск. Встроенные таблицы обычно используют стратегию по умолчанию. Пользовательские таблицы с бизнес-данными обычно мигрируют только структуру. Таблицы с метаданными можно перезаписывать по сценарию.

См.: Встроенные таблицы приложений и основных плагинов.

Связанная документация: Управление миграциями.

Откат и восстановление

При сбое сначала используйте резервную копию перед релизом. Если текущее окружение стабильно, восстановите его там. Если нет, восстановите отдельное окружение, проверьте ключевые процессы и переключите трафик.

Связанная документация