Управление конфигурацией и контентом с помощью инструментов автоматического развертывания для приложения на основе ZF - PullRequest
0 голосов
/ 01 октября 2010

Я пытаюсь автоматизировать развертывание конкретного проекта и немного растерялся относительно того, кто должен обрабатывать конфигурационный файл, а также как пользовательские ресурсы.(Приложение основано на Zend Framework, кстати).

Основная папка приложения имеет следующую структуру:

./app
     ./config.ini   <----- config file
     ./modules
     ./controllers
     ./models
     ./views
./libs
./public

В этом файле конфигурации хранятся все конфиги.Таким образом, папка 'app' содержит целую кучу кода на PHP, а папка public содержит целую кучу кода на JavaScript, HTML / CSS и тому подобное (в основном, доступ в Интернет).

Если я буду следовать модели Capistrano, гдекаждый пакет разворачивается в свою собственную папку, в которую затем помещается символическая ссылка, как мне обработать этот файл config.ini?Как насчет всего пользовательского контента, который загружен в папку ./public?

Спасибо!

1 Ответ

4 голосов
/ 01 октября 2010

Подход Capistrano к этому состоит в том, чтобы иметь такую ​​структуру на вашем удаленном сервере:

releases/
    20100901172311/
    20101001101232/
    [...]
current/ (symlink to current release)
shared/

в общем каталоге, в который вы включаете файл конфигурации и любой пользовательский контент (например, shared/files).Затем при каждом развертывании, после того как вы извлекли код, вы автоматически создадите символические ссылки из кассы в соответствующие общие каталоги.Например:

releases/20101001101232/public/files -> shared/files
releases/20101001101232/application/configs/config.ini -> shared/config.ini

таким образом, когда пользователь загружает файл в public/files, он фактически сохраняется в shared/files.

...