Развертывание до нескольких экземпляров

Я смотрел пару систем (Phing, ControlTier), а также прочитал все соответствующие вопросы на этом сайте, но я не уверен, что нашел лучшее решение для своих требований.

У меня есть веб-сайт PHP, который по сути является кодовым основанием для сайта для сравнения цен. Затем он развертывается на разных серверах, каждый из которых имеет свою собственную тему и базу данных в соответствии с проданными продуктами. Когда в базу кода вносятся изменения или исправления, тогда требуется выталкивать их на каждый сервер с типичным рабочим процессом (резервное копирование, развертывание, тестирование, откат / фиксация). В идеале я бы хотел использовать что-то существующее для достижения этой цели, но, тем не менее, я мог бы рассмотреть этот вариант.

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

Любые рекомендации относительно наилучшей настройки для такого типа развертывания очень ценятся.

Phing может сделать много вещей для вас в нескольких строках кода (конфигурации). Полагаю, у вас уже есть реализация, которая имеет дело с «достоверностью» разных экземпляров вашей кодовой базы?

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

финская сцена

Он будет извлекаться из SVN, когда происходит svn commit, используя svn hooks (можно сказать, только когда новый тег создается как «/myrepos/tags/2/2.1.7»), чтобы он мог быть частью простой непрерывной интеграции. Таким образом, svn up COULD произойдет на промежуточном сервере, где вы запускаете окончательные тесты на свой готовый к отправке код (phpunit, frontend, manual ..).

развертывание phing

Проблема, когда вы довольствуетесь результатами. Резервное копирование данных на всех серверах, а затем копирование по коду, который был проверен и протестирован на предыдущем шаге. SCP-задачи доступны в phing, но вам нужно расширение php ssh2 (модуль PECL)

откат phing

Если все правильно, вы можете остановиться, но если вам нужно вернуть свои развернутые изменения (все), вы можете реализовать «откат phing», который копируется из резервной копии.

должно быть простым.

Вы можете перебирать свои серверы и иметь разные переменные, заполненные или сопоставленные, если вам нравится «Server1» -> «themeblue» «Server2» -> «themered» и копировать только те тематические каталоги или файлы конфигурации, которые необходимы для включения правильного стиля ,

Люди, которые знают Ant, могут работать с phing тоже, но phing имеет то преимущество, что его очень легко развернуть. Его расширяемость также является реальным плюсом. Вы знаете php? Вы можете написать новое действие или фильтр, который можно повторно использовать при планировании в будущем.

Если бы я был вами, я бы дал фингу.

О, и не стесняйтесь присоединяться к #phing на freenode. Его довольно пусто, но мы можем это изменить;)

http://vimeo.com/13441373 Разговор о Phing, который может быть полезным инструментом для вас … автоматическое выполнение задач, определенных в PHP. Не использовал его сам, но тот, кто дает этот разговор, знает свои вещи.