Подтвердить что ты не робот

Файл CSS не обновляется при развертывании (Google AppEngine)

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

Вот перепутанная страница: http://www.gaiagps.com

Appengine показывает последнюю версию как правильную: http://1.latest.gaiagps.appspot.com/

Любая помощь?

4b9b3361

Ответ 1

Я видел это раньше в App Engine, даже если вы используете параметры запроса кэша, такие как /stylesheets/default.css?{{ App.Version }}.

Здесь моя (неподтвержденная) теория:

  • Вы нажимаете новую версию, развертывая или меняя новую версию на default.
  • Пока это обновление распространяется на все экземпляры GAE, запускающие ваше приложение...
  • ... кто-то попадает на ваш сайт.
  • Запрос на статический ресурс default.css{{ App.Version }} отправляется в CDN Google, который еще не имеет его.
  • Google CDN запрашивает GAE для ресурса до того, как распространение со второго шага выполняется для всех экземпляров.
  • Если вам не повезло, GAE обслуживает ресурс из экземпляра, запускающего старую версию...
  • ... который теперь кэшируется в Google CDN как авторитетная "новая" версия.

Когда это (если это произойдет), я могу подтвердить, что никакая работа с браузером, работающая с кэшем, не поможет. Серверы CDN Google содержат неправильную версию.

Исправить: Единственное, что я нашел, чтобы исправить это, - это развернуть другую версию. Вы не рискуете повторить это снова (если вы не внесли каких-либо изменений в CSS с момента гонки), потому что даже если условие гонки происходит, возможно, ваше первое обновление выполняется к моменту развертывания вашего второго, поэтому все экземпляры будут обслуживать правильную версию независимо от того, что.

Ответ 2

Следующее - это то, что сработало для меня.

  • Подайте свой css файл из статического домена. Это автоматически создается GAE.

    //статичная. {Ваш-приложение-ID}.appspot.com/{CSS файл путь}

  • Разверните приложение. На этом этапе ваше приложение будет разбито.

  • изменить версию файла css

    //статичные. {Вашего-приложение-ID}.appspot.com/{CSS файл путь}? V = {версия-Name}

  • развернуть снова.

Каждый раз, когда вы меняете файл css. вам придется повторять 2,3 и 4.

Ответ 3

Ваша ссылка выглядит хорошо для меня, если я не пропущу что-то.

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

Переход на 1.latest загружает новый CSS, поскольку он не находится в вашем кеше, поэтому он кажется вам правильным.

Ответ 4

У меня тоже была эта проблема. Я использовал колбу с GAE, поэтому у меня не было статического обработчика в моем app.yaml. Когда я добавил его, развертывание работает. Попробуйте добавить что-то вроде этого

handlers:
- url: /static
  static_dir: static

на ваш app.yaml и снова разверните. Это сработало для меня. По-видимому, Google пытается оптимизировать, не обновляя файлы, которые, по его мнению, пользователи не видят.

Ответ 5

Попробуйте очистить кеш в своем браузере. Имел ту же самую проблему и исправил ее, просто очистив кеш.

Ответ 6

Вот что сработало для меня:

Во-первых, я изменил версию на app.yaml.

Затем выполните следующие шаги

Перейдите в консоль → Нажмите на свой проект.

В боковом меню нажмите Вычисление Версии:

Там будут все версии, а какая версия по умолчанию. Шахта была установлена ​​в более старой версии.

Отметьте новую версию.

Для меня работали. Любые проблемы?