Как перенести из тестовой среды в производственную среду?

Переход из локальной среды в производственную среду. Производственная среда прошла некоторое время и создала множество статей.

Чтобы добавить новые вещи на мой сайт, я добавил пользовательскую тему и установил CCK, Views и другие модули в своей локальной тестовой среде. Теперь, когда локальная тестовая среда завершена, как мне перенести ее в производственную среду, не разрушая содержимое своей базы данных?

46 голосов | спросил enjoylife 15 AMpFri, 15 Apr 2011 07:11:48 +040011Friday 2011, 07:11:48

3 ответа


34

Это нетривиальная проблема, для которой почти у каждого есть другой ответ: нет канонического способа Drupal для обработки постановки на производственные нажатия. Dries Buytaert, парень, который руководит шоу Drupal, сделал его одним из ключевых инициатив Drupal 8 . Конечно, Drupal 7 был только что выпущен, так что это будет какое-то время, прежде чем это принесет любые плоды.

Проблема может быть разбита на две отдельные проблемы:

  • Конфигурация этапа (переменные, типы содержимого, поля, представления и т. д.).
  • Простой контент (узлы, пользователи и т. д.)

Первый может быть обработан главным образом модулем Features , который займет вашу конфигурацию сайта и превратит его в модуль, который вы можете добавьте в свою установку Drupal: таким образом вы можете добавить ее в свою систему управления версиями и не беспокоиться о том, что она сдувается при переносе вашего контента.

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

Кроме того, Drupal не использует универсально уникальные идентификаторы (UUID) для контента: каждый раз, когда добавляется узел или пользователь, идентификатор увеличивается на единицу. Итак, что может быть узлом 45 на вашем сайте разработки, может быть узел 90 на вашем производственном сайте.

К сожалению, у меня нет отличного решения: постановка контента - настоящая слабость Drupal. То, что я лично делаю, это добавлять контент только на производственный сайт. Если клиент хочет увидеть, как будет выглядеть контент до его начала, я создам клон рабочего сайта, доступный только клиенту. Затем, после одобрения, те же изменения затем производятся непосредственно на производство.

Есть еще одна альтернатива, которую бросают вокруг: развертывать модуль. Он должен использовать Сервисы , чтобы сделать контент промежуточного уровня относительно безболезненным. Но я не могу ручаться за его эффективность, и у него нет версии Drupal 7.

ответил 15 AMpFri, 15 Apr 2011 08:01:23 +040001Friday 2011, 08:01:23
7

В нашем процессе.

  1. У нас есть сценарий оболочки, который вытаскивает db из prod.
  2. Мы используем Hudson для восстановления наших ветвей dev /staging для синхронизации живых и dev-ветвей.

    Поскольку мы используем Git, каждая задача, которую мы выполняем, имеет свою собственную ветвь, а затем, когда она передается в QA, мы объединяем ее для овладения нашим промежуточным сервером для тестирования регрессии.

    Когда мастер готов, мы делаем тестовый выпуск на наш Release Server, который является репликой live (конфигурация, оборудование и т. д.).

  3. Мы используем модуль Feature для развертывания конфигураций. Некоторые вещи еще не поддерживаются функцией, поэтому мы используем hook_update_N, затем запускаем updatedb.php или drush -vd updb

  4. После релиза функции возвращают (drush fra --yes), чтобы вернуть всю отмененную функцию.
  5. Поскольку мы используем Boost (переход на Larnish) и Memcache, нам нужно очистить кеш (drush cc all).

    Мы используем rsync для синхронизации наших изображений /видео и т. д.

ответил ninjascorner 15 J0000006Europe/Moscow 2012, 03:21:21
2

Чтобы перейти с сервера XAMPP на другой сервер, я выполнил инструкции этого сайта .

Убедитесь, что вы сохраняете одну и ту же структуру на своем производственном сервере, как и на своем сервере разработки. Мне также пришлось редактировать некоторые файлы в панели управления Drupal admin, расположенной по адресу: admin /config /media /file-system

Убедитесь, что в вашем пути к общедоступной файловой системе и временном каталоге установлены правильные местоположения.

ответил kretzm 28 J000000Thursday11 2011, 20:47:34

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132