Развертывание веб-приложения и несколько версий - PullRequest
8 голосов
/ 08 февраля 2012

Мне любопытно узнать, как другие разработчики занимаются версионированием веб-приложений и развертыванием разных версий. Основная проблема заключается в том, что кто-то может использовать ваше веб-приложение при развертывании новой версии, и в этот момент Javascript и т. Д. У него не будет на стороне клиента.

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

Итак, я вижу несколько способов справиться с этим:

  1. Отображать уведомление «Обновление» на сайте при развертывании новой версии.

  2. Версия помечает клиентскую сторону и отклоняет любые представления новой версии из старых клиентских источников. Справедливо, но в действительности это не идет рука об руку с непрерывным развертыванием.

  3. Непрерывная миграция БД - запуск нескольких версий приложения одновременно (миграция пользователей на новую версию, когда это возможно). Для этого потребуются какие-либо обновления в старой схеме БД, которые будут «перенесены вперед» в новую схему. Кажется наиболее привлекательным для развертывания, но также может быть ужасно сложным.

  4. Где-то посередине всех трех.

Я должен отметить, что я знаю, что беспокоиться о таких вещах выходит за рамки потребностей большинства приложений, но я думал об этом, и мне любопытно узнать, как другие справляются с этим.

1 Ответ

0 голосов
/ 13 ноября 2012

Существует множество инструментов для ваших конкретных требований.Как и Phing, и Phingistrano.Git также делает это простым, но он не будет отображать уведомление офлайн и развертывание БДЯ рекомендую не переходить на автоматическое развертывание на работающем сервере, использовать автоматическое развертывание на стадии подготовки и ручное развертывание на действующем сервере.Также ищите непрерывную интеграцию в Google и попробуйте teamcity

...