Какие инструменты/языки вы используете для развертывания веб-приложений PHP?

Для моего веб-приложения, запущенного на LAMP, мне нужно иметь возможность развертывать миграции баз данных и изменения кода на нескольких серверах и после этого иметь возможность тестировать развертывание, все это автоматически выполняется скриптами.

В настоящее время я разрывается между использованием непосредственно моего инструмента построения (Phing) с некоторыми специальными задачами развертывания/тестирования или сценариями оболочки, или скриптовый язык, такой как Ruby или Python.

Проблема в том, что я считаю, что инструмент сборки должен использоваться для сборки, а не для развертывания. Я также считаю, что сценарии оболочки трудно поддерживать и не очень читаемы.

Есть ли у вас хороший совет по этому вопросу?

Ответ 1

Для проектов PHP Phing - это путь. Развертывание, безусловно, является одним из его предполагаемого использования, учитывая, что в PHP нет никакого "реального" процесса сборки - поскольку скрипты не скомпилированы.

С официального сайта:

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

Phing может делать все сценарии оболочки /python/ruby, и может быть расширен в PHP, что является его основной привлекательностью для разработчиков PHP. Почему вы хотите использовать ruby ​​/python, если вы являетесь разработчиком PHP?

Ответ 3

Расмус Лердорф (создатель PHP) выпустил инструмент развертывания под названием WePloy.

Ответ 4

Чтобы развернуть веб-приложения, PHP или другие, одним щелчком вы можете использовать fredistrano.

Ответ 5

Что я использовал?

  • svn post-commit hook
  • оболочка script для rsync
  • perl cgi script для переключения svn через системы

Кажется, что ни одно из них не было бы приемлемым для вас, но с учетом вашего заявления "Я также считаю, что сценарии оболочки трудно поддерживать и не очень читаемы".

Ответ 6

Личный script, который использует Экспорт Svn + rsync