Задача — публиковать несколько независимых веб-продуктов на управляемой инфраструктуре так, чтобы новая версия не смешивалась с предыдущей, а восстановление не приходилось проектировать уже после сбоя.
Vaneev, PROOF и DoMiSoul имеют разный состав и жизненный цикл. Их сборка, runtime и release не должны случайно заменять друг друга. DNS и почтовый контур при этом не должны меняться без продуктовой необходимости.
Для каждого продукта определён отдельный release-контур. Сборка проходит локальные и автоматические проверки, получает однозначную версию и контрольные суммы, загружается в новый неизменяемый каталог и только после проверки становится активной через атомарное переключение.
Предыдущий принятый релиз сохраняется как готовая точка rollback и может быть возвращён без пересборки. Продукты разделены по runtime и каталогам; PROOF и корневой Vaneev сохраняют независимые жизненные циклы. Публичные проверки отделяются от локальных и CI-проверок.
Подход применяется в работающих продуктах Vaneev, PROOF и DoMiSoul. Релиз является проверяемым и обратимым событием: известны фактическая версия, состав файлов, активная цель и путь восстановления.
Кейс показывает ответственность не только за написание кода, но и за безопасный выпуск, проверку production-результата и возврат к стабильной версии.