Автоматизированная интеграция и промежуточные среды для приложений на основе LAMP


Что было бы хорошим инструментом для выполнения автоматизированного развертывания приложений на основе LAMP (MySQL, PHP, Zend Framework) в интеграционных и промежуточных средах? Я специально ищу инструменты, которые обрабатывают развертывание на удаленных хостах. Я предполагаю, что для этого можно было бы использовать такие инструменты, как phing и ant, но мне было интересно, есть ли что-то лучшее для этого случая.

Author: Alex N., 2009-12-09

2 answers

Для интеграции, особенно для непрерывной интеграции, мне нравится phpUnderControl ( который является инструментом для PHP-проектов, но сам основан на CruiseControl, который хорошо известен в мире JAVA): он имеет дело с:

  • извлечение последней редакции из SVN
  • запуск автоматических тестов (PHPUnit)
  • php_кодесниффер
  • Генерация документации PHP (phpDocumentor)
  • и предоставляет приятный интерфейс для пользователей, чтобы увидеть результаты каждой сборки.

И, для начала, вот статья, в которой объясняется, как настроить phpUnderControl: Начало работы с phpUnderControl
( Каждый раз, когда я или некоторые коллеги устанавливали phpuc, мы делали почти так, как описано в этой статье, насколько я помню)


Для постановки я обычно выполняю несколько задач, чтобы построить tar.gz архив, который я время от времени развертываю на промежуточном сервере, используя другую задачу phing для удаления архивируйте и создайте необходимые символические ссылки (или что-то в этом роде).

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

 1
Author: Pascal MARTIN, 2013-11-14 15:14:17

Настройте сервер сборки, для этого отлично подойдет что-то вроде CruiseControl, и при необходимости запустите собственные сценарии Nant или используйте задачи Exec для выполнения развертывания.

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

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

 0
Author: Wim Hollebrandse, 2009-12-08 22:08:45