Синхронизация сайта Drupal между разработкой, подготовкой и производством - PullRequest
5 голосов
/ 06 сентября 2010

Часто после запуска сайта Drupal (6.x) люди начинают регистрироваться и вводить собственный контент.Всякий раз, когда возникает необходимость в обновлении, производственная база данных копируется в dev, а затем разработка завершается в dev, а затем переводится в стадию для одобрения клиента.

Когда сайт в конечном итоге готов к работе, возникает проблема.Рабочий сервер имеет новейшее введенное пользователем содержимое, разработчики и промежуточные версии имеют самые последние функциональные возможности.Простая перезапись базы данных на производстве не сработает.Что я обычно делаю, так это записываю, что было сделано для dev, и затем следую шагам, которые пройдут через реализации на производстве.По мере того, как система становится больше, одна ошибка в производстве может привести к потере бизнеса.Я не могу закрыть сайт на несколько часов.Я не могу сказать, сколько людей используют сайт в данный момент, даже если невозможно подождать, пока на сайте никого не будет, чтобы выполнить обновление.

У кого-нибудь есть хорошая идея?

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 06 сентября 2010

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

Перенос кода с одного сервера на другой не так сложен, а у кода есть другойПреимущество: легко хранить и управлять в системе контроля версий, такой как SVN или GIT.Вот почему большинство решений сосредоточено на извлечении данных из базы данных и их вставке в код.

Как уже упоминалось в CaseySoftware, модуль Features - это то, что вам нужно для сохранения конфигурации в коде.Компоненты стабильно выпускаются уже пару недель, и сообщество, похоже, согласилось с тем, что функции - это путь вперед.

Перемещение контента между сайтами немного сложнее, потому что контент можно добавлять или изменять в dev, staging ипроизводство одновременно. Exportables - попытка решить эту проблему, но не единственная.Убедитесь, что вы также ознакомились с модулями Deploy и Integration Features , основанными на функциях.Ни один из этих модулей еще не стабилен, и время покажет, какой из них является лучшим решением.

4 голосов
/ 06 сентября 2010

Есть две концепции, на которые нужно обратить внимание: первая - « Exportables », которая, как правило, является способом экспорта всей конфигурации данного модуля. Второй - « Features » (ужасно названный, да), который является способом группировки набора Exportables в заданный набор изменений для контроля версий, обновления, развертывания, отката и т. Д.

Для пояснения, многие модули реализуют свою собственную методологию "Exportables", с которой я связал выше, был модуль Exportables. Вот более широкая стратегия для этого - http://www.sthlmconnection.se/tips-and-tweaks/exportable-configuration-your-drupal-module-ctools

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