Я ищу настройку развертывания для сайта с настраиваемым Magento и задавался вопросом, как это делают другие люди.
Я буду настраивать среды dev, UAT и prod. Все файлы Magento будут находиться в источнике управления (SVN). На этом этапе я не вижу никаких требований к изменению БД, поэтому 3 базы данных будут поддерживаться вручную.
В частности,
- Как вы применяете обновления Magento? (Индивидуально в каждом env или на dev, затем выкатитесь или просто сдадитесь при обновлении?)
- Какие файлы/папки оставляют в покое в каждой среде (например, magento/app/etc/local.xml)
- Вы запрещаете разработчикам редактировать определенные файлы/папки?
- Вы ограничиваете разработчиков тем, чтобы редактировать определенные файлы/папки?
- Как вы управляете изменениями базы данных?
Файлы/папки конструктора тем оформления
Дизайнеры могут ограничить редактирование следующих папок -
app/design/frontend/your_interface/your_theme/layout/
app/design/frontend/your_interface/your_theme/template/
app/design/frontend/your_interface/your_theme/locale/
skin/frontend/your_interface/your_theme/
Файлы/папки для разработчиков расширений
Разработчики расширений могут редактировать следующие папки/файлы -
/app/code/local
/app/etc/modules/<Namespace>_<Module>.xml
Управление средой базы данных
Поскольку URL базы базы хранения хранится в базе данных, вы не можете просто копировать базы данных между средами. Варианты включают -
- Переопределение базового url в php. Блог статья о настройке dev и постановке базы данных
- Изменение базового URL-адреса в базе данных после копирования. (Где это хранится?)
- Выполнение MySQLDump или резервное копирование, а затем замена на URL в файле SQL.