[Я использую AWS, но я думаю, что этот вопрос актуален для всех CDN]
Я хочу беспрепятственно развернуть мой сервер Django в облаке AWS.
Весь статический контент (например, изображения, javascript и т. Д.) Поступает в CDN Amazon Cloudfront.
Проблема в том, что я пытаюсь сделать обновление как можно более «атомарным», хотя у меня очень мало контроля над временемнедействительности объекта CDN.
В соответствии с TFM, решение заключается в том, чтобы создать версию моих объектов, то есть переименовать их, добавив идентификатор версии, например, arrow_v123.png.Очевидно, что если новый сервер указывает на arrow_v124.png, я полностью контролирую сроки всего распространения.
Я проверил и, насколько я могу судить, большие мальчики делают это - объекты статического контента Facebook имеют хеш-имя (ипуть).
НО КАК Я АВТОМАТИЧЕСКИ ДЕЛАЮ ЭТО В ДЖАНГО?
Мне нужно как-то:
- Создать новый номер версии
- Измените все имена всех статических объектов
- Измените все шаблоны и код Python для использования этих новых имен
Или каким-либо образом интегрируйте с разработкойпроцесс:
- Я редактирую изображение или файл javascript
- Я сохраняю его и он получает новое имя?!?!и все ссылки на него автоматически исправляются?!?!
Я использую Fabric для развертываний, поэтому имеет смысл каким-то образом изменить мой fabfile.
Пожалуйста, помогите.
Тал.