Развернуть на несколько экземпляров - PullRequest
3 голосов
/ 02 августа 2010

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 02 августа 2010

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

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

Уровень звонка

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

phing deploy

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

обратный звонок

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

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

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

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

Я бы попробовал позвонить на твоем месте.

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

0 голосов
/ 02 августа 2010

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

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