Loading...

Среды

Blue/green среды (preprod ⇄ prod)

Запустите preprod-копию приложения, тестируйте сколько нужно, не трогая прод, затем мгновенно переключите рабочий домен на неё и так же быстро откатите.

Вернуться к справке платформы

Как это работает

  • В проекте две среды: prod (рабочая) и preprod. Каждая — обычное приложение со своим тестовым поддоменом ca-*.cdn.com.tr.
  • Promote переносит рабочий домен с prod на preprod за секунды без простоя; Rollback так же быстро возвращает.
  • На вкладке Platforms аккаунта → Managed Container Apps панель «Blue/Green среды» (прямо над «Ваши приложения») содержит Create preprod, Promote и Rollback.

Создание и тест preprod

  • Нажмите «Create preprod» на прод-приложении: оно клонирует образ, env, секреты, ресурсы и health check в новое preprod-приложение.
  • Разверните preprod и тестируйте на его поддомене сколько нужно; прод не затрагивается.
  • Когда готово, нажмите Promote, чтобы вывести preprod в прод; при проблеме Rollback мгновенно возвращает к предыдущему приложению.
  • Если репозиторий подключён с автодеплоем, используйте конвейер деплоя: каждый push автоматически разворачивает Staging, а production меняется только при нажатии Promote (см. руководство «Конвейер деплоя»).

Состояние (БД и статика) и обратимость

  • shared: preprod использует ту же управляемую БД/Redis и те же object-storage бакеты, что и prod (без копии). Подходит для изменений кода/UI.
  • clone: preprod получает собственную управляемую MySQL с копией данных prod — безопасно для изменений данных/схемы.
  • isolated: preprod начинается с чистого состояния.
  • Promote сначала делает автоматический снапшот БД; Rollback восстанавливает его, поэтому изменения данных тоже обратимы. Статика на постоянном томе может быть общей (RWX), чтобы загрузки оставались согласованными.

Создание и тестирование preprod

  • Выберите режим состояния и нажмите Create preprod (для одного приложения или «from all apps» для всего аккаунта). Клонируются образ, окружение, секреты, ресурсы и health check каждого приложения в новое preprod-приложение.
  • Разверните preprod-приложения и тестируйте их на собственных поддоменах ca-* столько, сколько нужно, — production всё это время остаётся рабочим и нетронутым.
  • Когда всё готово, нажмите Promote; если после запуска что-то пошло не так, нажмите Rollback, и трафик мгновенно вернётся к предыдущим приложениям.

Состояние (БД и статика) — что preprod разделяет с prod

  • shared (по умолчанию): preprod использует ТУ ЖЕ управляемую БД/Redis и бакеты object storage, что и prod, через безопасные межприложенческие ссылки (без копирования). Лучший вариант для изменений кода/UI.
  • clone: preprod получает СОБСТВЕННУЮ управляемую MySQL с копией данных prod — безопасно для тестирования данных или изменений схемы; данные prod не затрагиваются. (Копирование данных Postgres пока не поддерживается — БД запустится пустой.)
  • isolated: preprod стартует с чистого листа, с собственными новыми дополнениями.
  • Статические файлы на постоянном томе можно разделять (CephFS RWX), чтобы загрузки оставались согласованными между окружениями.

Обратимость и ограничения

  • Трафик — с подключённым собственным доменом: Promote сначала привязывает домен к новому приложению, затем освобождает старое (без разрыва); Rollback — то же переключение в обратную сторону, за секунды, без пересборки.
  • Трафик — production только на поддомене ca-*.cdn.com.tr: Promote выкатывает протестированный образ Staging на production-приложение через плавное обновление без разрыва (старый под обслуживает трафик, пока новый не будет готов). URL остаются стабильными; конфигурация (окружение/секреты) намеренно не переносится вместе с образом.
  • Данные: Promote сначала делает автоматический снимок БД, а Rollback его восстанавливает, поэтому изменения данных, сделанные после запуска, тоже можно откатить.
  • Область действия: всё происходит внутри одного аккаунта, поэтому владение DNS и production-сертификат никогда не затрагиваются.
  • Пока НЕ поддерживается: продвижение между аккаунтами, копирование данных Postgres при clone и полностью транзакционное продвижение «всё или ничего» сразу для многих приложений (сейчас это делается по мере возможности для каждого приложения, с отдельными отчётами об ошибках).