Мне любопытно узнать, как другие разработчики занимаются версионированием веб-приложений и развертыванием разных версий. Основная проблема заключается в том, что кто-то может использовать ваше веб-приложение при развертывании новой версии, и в этот момент Javascript и т. Д. У него не будет на стороне клиента.
Создание версий носителей на стороне клиента достаточно простое, но если вы устанавливаете версию, то вам также необходимо обновить свою бизнес-логику и базу данных, что может привести к путанице ...
Итак, я вижу несколько способов справиться с этим:
Отображать уведомление «Обновление» на сайте при развертывании новой версии.
Версия помечает клиентскую сторону и отклоняет любые представления новой версии из старых клиентских источников. Справедливо, но в действительности это не идет рука об руку с непрерывным развертыванием.
Непрерывная миграция БД - запуск нескольких версий приложения одновременно (миграция пользователей на новую версию, когда это возможно). Для этого потребуются какие-либо обновления в старой схеме БД, которые будут «перенесены вперед» в новую схему. Кажется наиболее привлекательным для развертывания, но также может быть ужасно сложным.
Где-то посередине всех трех.
Я должен отметить, что я знаю, что беспокоиться о таких вещах выходит за рамки потребностей большинства приложений, но я думал об этом, и мне любопытно узнать, как другие справляются с этим.