Современные методы развертывания контента на Drupal
Я хотел бы знать, существуют ли современные методы развертывания контента в drupal 7.
Я знаю, что есть модуль с именем развертывание , но он кажется немного неубедительным.
Я также знаю, что с помощью функций вы можете экспортировать контент с помощью node-export, но я хотел бы ограничить функции настройками, типами контента и т. Д.
Мой сайт точно знает, что он находится на сервере разработки, на нем есть панели, веб-формы и множество различных модулей зависимостей. И как насколько я могу судить, я предполагаю, что единственный способ экспортировать контент - это резервное копирование и миграция.
Есть лучший способ сделать это?
Спасибо.
2 answers
Что касается развертывания в Drupal, вам необходимо четко различать:
- Код: Ядро Drupal, модули contrib, ваши собственные модули, исправления, темы, переводы.
- Содержимое : все, что хранится внутри узлов, типов контента и сущностей. Всегда в базе данных.
-
Конфигурация ( а вот и проблемы...): все, что не включено в 1) или 2):
- глобальные переменные сайта
- определение типы контента, пакеты и сущности
- определение полей
- просмотры
- панели
- формы
- блоки
- меню
- словари
- разрешения
- правила
- ...
Вся эта информация о конфигурации теперь размещена в базе данных в D7, и управлять ею, развертывать и поддерживать ее - настоящий кошмар. До появления D8 (который предоставит новую систему управления конфигурацией именно для решения этой проблемы проблема), вам нужно будет использовать такие модули, как функции и Strongarm, чтобы бороться с этим. Процесс не прост и требует точного разделения функциональности вашего сайта, поиска автономных частей кода и конфигурации, представляющих пользовательские варианты. Если нет, вы обнаружите множество проблем с зависимостями между функциями.
Развертывание кода и контента намного проще. Используйте Drush make и, при необходимости, профили и функции установки. Для контента, простой решение - модуль резервного копирования и миграции.
Вы можете найти недавнее и обширное сравнение модулей развертывания в Drupal 7 здесь:
Если вы хотите сделать это один раз, используйте обычные методы развертывания. Передача файлов, копирование базы данных и изменение settings.php файл, а также другие файлы, которые вы можете редактировать (robots.txt , .htaccess и т.д.), За исключением случаев, когда у вас одинаковая конфигурация сервера для каждого сайта.
Если вы хотите делать это редко , например, один раз в год, используйте резервное копирование и миграцию и его дополнительные модули.
Наконец, если вы хотите выполнить развертывание между различными средами сайта на регулярной основе (например, при наличии обновлений безопасности) используйте Drush и псевдонимы drush. Дополнительные сведения см. в разделе Использование drush для синхронизации и развертывания сайтов.