Как отправить код на производственную площадку AJAX / JS - PullRequest
2 голосов
/ 08 декабря 2011

В настоящее время мы используем Jenkins для развертывания кода на нашем производственном веб-сервере. Он архивирует весь соответствующий источник и отправляет его SCP на сервер, а затем удаленно распаковывает его и перезапускает apache (мы используем APC, поэтому это очищает кэш PHP).

Сайт в значительной степени основан на AJAX, и редко когда браузер обновляется, когда пользователи взаимодействуют с сайтом. При выполнении этого типа push-кода меня беспокоит, что пользователь не получит последние изменения в коде переднего плана, если браузер не обновится. Поэтому мы делаем это очень поздно ночью, чтобы убедиться, что большинство наших пользователей отключены от сайта.

Каковы некоторые распространенные методы для смягчения этой проблемы? Это не является устойчивым, если нам когда-либо потребуется развернуть код в дневное время, а пользователи активны на сайте. Какие-либо другие улучшения, которые можно внести в этот процесс развертывания?

Спасибо!

1 Ответ

1 голос
/ 08 декабря 2011

Это не похоже на проблему с процессом развертывания, как для приложения / сайта.

Первое, что нужно проверить, - это настройка веб-сервера, чтобы убедиться, что «Expires» / «Для заголовков «Cache-Control» установлены разумные значения, поэтому вы не устанавливаете время кэширования в 1 год для файлов, которые вы можете изменять еженедельно (или даже ежедневно).

Следующее, что может бытьсделано из приложения, чтобы включить проверку в JavaScript.Каждый HTTP-ответ (AJAX или другой) может возвращать пользовательский HTTP-заголовок с номером версии.Если приложение повторно развернуто, приложение / сервер должно отправить новый номер версии в этом поле.Если JavaScript обнаруживает, что номер версии обновлен в середине сеанса, он может отобразить сообщение для пользователя и / или принудительно перезагрузить страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...