Я ответил на вопрос о стратегиях развертывания БД.
Существует также вопрос о развертывании кода.
Там, где я работаю, мы работаем над довольно большим развертыванием Drupal. У нас примерно следующая настройка.
У всех разработчиков есть локальная песочница (Drupal + DB). Код коммита в ветке, которая используется всеми остальными разработчиками (нас около 15). Это включает в себя изменения конфигурации, которые выполняются функциями обновления.
Когда разработчики делают svn up, они также запускают update.php для локального выполнения любых изменений конфигурации.
У нас есть система тестирования спринта, которая работает проще всего и может использоваться для пользовательского тестирования.
В конце спринта (мы используем scrum), мы объединяем ветвь в ствол и запускаем тесты на этом.
Затем мы помечаем это как релиз и разворачиваем его в живую (используя Capistrano), наконец запускаем update.php вживую, чтобы применить изменения конфигурации к живому.
Любые экстренные исправления развертываются из транка, чтобы работать как точка выпуска 7.1 и т. Д.
Если вам нужна дополнительная информация, пожалуйста, оставьте комментарий.