Лучший способ развернуть веб-приложение Zend - PullRequest
5 голосов
/ 26 мая 2010

Я много читал о развертывании приложений здесь, но пока не нашел подходящего ответа на наши потребности.

У нас есть большое веб-приложение, созданное на основе Zend Framework, которое мы хотим развернуть на удаленном сервере. Мы хотим иметь возможность легко и безопасно развернуть новую версию нашего приложения на нашем производственном сервере.

Что нужно сделать, это следующее:

  • разместить страницу обслуживания в производственном приложении?
  • экспортная версия из SVN
  • запустить скрипт оболочки для минимизации CSS-файлов в определенном каталоге (скрипт оболочки выполнен)
  • установить права доступа к файлам и каталогам
  • копия / синхронизации? файлы на рабочий сервер -> только измененные файлы?
  • удалить страницу обслуживания из производственного приложения?

Мы используем SVN в качестве инструмента управления версиями кода, и мы используем CentOS в качестве нашей серверной ОС в производстве.

Я читал о:

  • Rsync
  • Фредистрано / Капистрано
  • Phing
  • пользовательские сценарии оболочки

Что вы посоветуете для простого развертывания одним щелчком?

Ответы [ 2 ]

3 голосов
/ 30 июня 2010

Я экспортирую (или извлечу) копию сайта под другим именем (обычно номер и дата ревизии subversion) и вставлю символическую ссылку в корневой каталог документа на место

1000.20100515/
   application/
   public/
   library/
1020.20100621/
current (symlink to 1000.20100515/)
dev (symlink to 1020.20100621/)

# copy whatever 'dev' points to as the new 'current' symlink.
rm current && cp -d dev current

Корень документа установлен в apache на ../current/public

С этим я могу проверить новую версию сайта на досуге и поставить новую версию в массовом порядке за доли секунды. Откат к предыдущей версии сайта так же прост, как и изменение символической ссылки - в случае обнаружения серьезной проблемы.

Добавлено Инструмент на основе ruby ​​' Capistrano ' может быть отличным методом для полной автоматизации этого на нескольких машинах (будь то одна или дюжина), и действительно сейчас это мой предпочтительный метод развертывания. Capifony - это плагин для Capistrano, который также поддерживает проекты на основе Composer .

0 голосов
/ 27 мая 2011

Попробуйте Capistrano. Он разработан для Ruby, и на вашем компьютере должен быть установлен Ruby, но его не обязательно иметь на целевом сервере.

Работает с git или svn и создает версии на целевом сервере. Вы можете откатиться и развернуть новую версию с одной строкой CMD.

Я нашел этот урок: http://tfountain.co.uk/blog/2009/5/11/zend-framework-capistrano-deployment

У вас есть измененная версия capistrano с другим учебником здесь: http://www.codewithstyle.eu/2011/05/03/deploying-zend-framework-applications-using-capistrano/

...