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. Это довольно пусто, но мы можем изменить это;)