Какой лучший процесс / приложение для автоматического развертывания приложений PHP? - PullRequest
5 голосов
/ 04 октября 2008

Есть еще один пост на SO, касающийся .NET - не мы. Чистый PHP. Попытка найти лучший способ / процесс для развертывания стабильной версии нашего приложения PHP. Я видел статью о Capistrano , но мне любопытно, что еще там. Помимо очевидных причин, я также собираюсь добавить несколько сценариев, чтобы туда добавлялся SVN rev номер .

Большое спасибо.

Ответы [ 5 ]

2 голосов
/ 04 октября 2008

По совпадению, я только что читал об инструменте сборки Apache Ant / gnu под названием Phing . Что мне нравится в этом, так это возможность писать пользовательских расширений на PHP!

2 голосов
/ 04 октября 2008

Я довольно давно использовал доморощенный сценарий. Это будет (на основе файла конфигурации приложения):

  1. Запустите svn export в хранилище на основе тега.
  2. Упакуйте экспорт в файл tar или zip, включающий тег в имени.
  3. Используйте scp для копирования пакета на соответствующий сервер (QA или выпуск).
  4. Подключитесь к серверу с помощью ssh, чтобы установить пакет и запустить сценарии после установки.

Файл конфигурации приложения является частью проекта. Он может указать сценарию (на шаге 2) удалить пути и в противном случае обработать указанные файлы. Здесь также указываются имена серверов и способы обработки внешних данных.

Я недавно перенес скрипт для поддержки Git и Subversion. Я также, вероятно, собираюсь перевести его на PHP, поскольку сейчас мы работаем в смешанной конфигурации (Linux и Windows), а Linux сейчас в меньшинстве.

У меня есть планы автоматического вызова сценария с перехватами после фиксации, но пока у меня не было необходимости это реализовывать.

1 голос
/ 05 августа 2009

Мы используем Webistrano , веб-интерфейс Capistrano, для развертывания нескольких десятков проектов. Он построен как приложение Ruby on Rails и предоставляет приятный, централизованный и согласованный пользовательский интерфейс для развертываний Capistrano.

Вместо того, чтобы использовать рецепты с ограничениями в каждом проекте и запускать инструменты командной строки, Webistrano сохраняет рецепты в своей базе данных и позволяет прикреплять рецепты к нескольким проектам и этапам. Это уменьшает дублирование скриптов.

Также приятно то, что все журналы развертывания хранятся, поэтому есть журнал аудита. Кто развернул ревизию на живом сервере, такого рода вещи.

Как вы и просили, номер редакции также сохраняется в развернутом проекте.

В целом, мы очень довольны.

1 голос
/ 04 октября 2008
1 голос
/ 04 октября 2008

Я не знаю, работает ли оно для развертывания приложения вживую, но phpUnderControl - это пакет непрерывной интеграции (который я только сейчас начинаю изучать). Если он не поддерживает выполнение развертываний изначально, его, вероятно, можно расширить для их выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...