Перейти к основному контенту

Среды платформы и жизненный цикл изменений

Команда работает с четырьмя средами. Страница описывает, для чего нужна каждая, чем они различаются и как изменение проходит путь от разработки до боевого использования.

Среды
Среда Назначение Адрес
DEV Самая актуальная версия кода: весь код с реализованными и залитыми фичами. Здесь проверяют новые возможности и отлаживают изменения на свежем коде. assistant-dev.is74.ru
QA Среда будущего релиза. Сюда выкатывают только то, что готовят к следующему выпуску: проверяют изменения и принимают релиз до выхода в прод. Может заметно отличаться от DEV — на ней только изменения из релизной ветки. assistant-qa.is74.ru
TEST Код совпадает с тем, что работает на PROD. После релиза остаётся на этой версии до следующего релизного цикла — чтобы проверять правки для прода на том же коде, что в бою. Подходит для регрессии «как на проде» без работы с боевыми структурами. Может заметно отличаться от QA и DEV. assistant-test.is74.ru
PROD Боевая среда. Два инстанса: внутренний ПАКЦ и Внешний ПАКЦ.

assistant.is74.ru (внутренний);

ai-assistant.is74.ru (внешний ПАКЦ⟩

Что важно помнить
  • У каждой среды своя база данных: свои сценарии, инструменты, пользователи и права. Они независимы.
  • Публикация или правка на одной среде не появляется на другой сама. Сценарии между средами можно переносить через экспорт/импорт.
  • У DEV, TEST и QA общий audio socket, у PROD — свой. Поэтому тестовые звонки на DEV, QA и TEST идут через один шлюз и не затрагивают боевой audio socket PROD.
Релизный цикл
  1. Планирование. Заранее определяется список фич и фиксов, которые войдут в релиз.
  2. Сборка. По этому списку разработчик собирает релизную ветку и релизный тег. В тег попадают только согласованные изменения; всё остальное, что уже есть в DEV (master), в релиз не входит и остаётся только на DEV.
  3. QA. Разработчик выкатывает тег на QA, обеспечивает работоспособность сервисов, добавляет или собирает новые сервисы релиза. На QA действует только текущий тег — сторонние изменения без согласования не добавляются.
  4. Приёмка. После согласования релиза тег отправляется на TEST — выполняется повторная проверка.
  5. Согласованность. Все изменения в теге разработчик отправляет и на TEST, и на QA, чтобы они не расходились.
  6. Прод. Проверенный тег выкатывается на продовые инстансы (внутренний и Внешний ПАКЦ). QA освобождается и может принять следующий тег. Менять тег на TEST при этом запрещено.
  7. После релиза. TEST остаётся на версии прода до следующего релиза с QA.
Правки для прода после релиза

Изменения, которые понадобились уже после выхода релиза, проводятся и проверяются через TEST (без QA). Любые изменения — и в составе тега, и вне его — в любом случае сначала проходят через DEV.