Боюсь, что нет такой сложной вещи легко доступны.Нам пришлось решить довольно похожую проблему, и в итоге мы использовали очень похожую конфигурацию, которую вы планировали использовать (или уже использовали).
У нас есть несколько ядер приложений, а затем конкретные модификации клиента.Все хранится в SVN.Кроме того, мы используем svn: externals, чтобы связать Framework и другие сторонние библиотеки с приложением.
Все делается с помощью Phing, и хотя нам понадобилось некоторое время, Phing очень помог, и я действительно рекомендую его.
Клиентские аддоны выбираются автоматически с помощью phing.Все настраивается через свойства сборки.
Для обновлений схемы базы данных мы очень довольны dbdeploy, который является частью Phing.Хотя нам пришлось немного изменить его для наших нужд.
Кроме того, мы добавили поддержку для создания предварительно сконфигурированного самораспаковывающегося установщика Linux, поэтому весь сложный процесс создания развертываемого пакета состоит из вызова одной цели phing и передачиправильный файл свойств сборки.Для создания этих инсталляторов мы используем эту простую технику (http://www.linuxjournal.com/node/1005818). Снова используя Phing, созданный пакет автоматически загружается на целевой сервер, выполняется по SSH для развертывания.
Затем мы используем Hudson для автоматического создания инсталляторных пакетов.(в дополнение к автоматическому запуску тестов phpunit и Selenium / Hmres) и их хранению в определенном месте / или как артефакты. Наша служба поддержки может затем захватить пакеты и выполнить развертывание в производственном режиме самостоятельно (наши среды QA / Test обновляются автоматическиHudson).
Кроме того, код автоматически кодируется и лицензируется с использованием ZendGuard, где это необходимо.
Краткое описание выше просто для иллюстрации того, чего можно достичь с помощью Hudson, Phing, SVN и PHP. Полная версиятехнические детали, очевидно, были бы слишком длинными для этого поста, но я был бы рад более подробно остановиться где-нибудь еще.