Откат статического сайта: сохранить совместимый набор файлов
Откат должен возвращать согласованный выпуск, а не только старый index.html. Документ и ресурсы связаны путями и версиями, поэтому их нужно рассматривать как единый набор.
Назначение
Откат должен возвращать согласованный выпуск, а не только старый index.html. Документ и ресурсы связаны путями и версиями, поэтому их нужно рассматривать как единый набор.
Как это работает
Перед публикацией сохраните предыдущий проверенный выпуск и список его файлов. Новые ресурсы удобно иметь под новыми именами, чтобы старый документ ещё мог загрузить свою версию CSS и JS. Фактическое переключение зависит от выбранной площадки.
Пример
releases/
release-a/
index.html -> assets/app.a1.js
assets/app.a1.js
release-b/
index.html -> assets/app.b2.js
assets/app.b2.js
Стрелка здесь обозначает ссылку внутри HTML, а не символическую ссылку ОС.
Что должно получиться
Каждый выпуск содержит ресурсы, на которые ссылается его документ. Возврат к release-a не требует надеяться, что файл app.b2.js совместим со старым HTML. Схема не выполняет переключение автоматически.
Граница применения и частая ошибка
Не удаляйте предыдущие ресурсы сразу после обновления: у посетителей может оставаться старый HTML в кеше. Для приложения с изменениями базы возврат файлов не равен откату данных; такую процедуру проектируют отдельно.
Самостоятельная проверка
На локальной копии опубликуйте два разных учебных выпуска и вернитесь к первому. Проверьте все ресурсы через Network, прямые внутренние URL и обновление страницы с обычным кешем. Запишите, какие файлы понадобились для восстановления.