Как работать с пользовательскими редактируемыми шаблонами в облачной среде без сохранения состояния?

1

Я использую с тех пор уже несколько лет домашнюю CMS/ERP на основе компонентов Symfony для своих клиентов. Каждый сайт, использующий эту инфраструктуру, размещается на "классическом" Linux-хостинге, и я использую git для развертывания обновлений. На каждом сайте есть папка, в которой хранятся шаблоны, изображения и загружаемые файлы html/css, которые администратор сайта может получить, чтобы настроить свой сайт. Эта папка игнорируется git, поэтому обновления моей инфраструктуры через git не будут перезаписывать изменения администратора сайта.

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

Я думал о хранении HTML/CSS-шаблонов в базе данных и копировать их на диск каждый раз, когда они обновляются, после каждого развертывания git или создания нового экземпляра. Но это не решило бы проблему для изображений или загружаемых файлов.

Теги:
heroku

1 ответ

2
Лучший ответ

Вместо того, чтобы хранить локально загруженные пользователем файлы, Heroku рекомендует размещать их на внешней службе, например Amazon S3.

Вы можете использовать существующую библиотеку для этого, например KnpGaufretteBundle:

Легко используйте Gaufrette в своих проектах Symfony.

Сам Gaufrette представляет собой "PHP5-библиотеку, которая обеспечивает уровень абстракции файловой системы". Amazon S3 является одним из поддерживаемых бэкендов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню