Моя команда относительно новичок в Drupal. Одна вещь, которую мы изо всех сил пытались понять, это то, как работать с ней с точки зрения DevOps. Я понимаю, что это слишком большая тема для одного вопроса, поэтому у меня есть более конкретный вопрос, который лежит в основе вопроса.
Как подготовить экземпляр Drupal? Под «предоставлением» я подразумеваю создание сценария подготовки, который создает мою CMS (мы используем только Drupal для этой цели), начиная с чистой виртуальной машины, имеющей только ОС и веб-сервер. Сценарий установит и настроит Drupal и его модули и подключится к существующей базе данных, содержащей мой контент. Или, может быть, я даже смогу добавить свой контент в экземпляр Drupal с пустой базой данных. Я просто не уверен, что имеет смысл.
Чего я пытаюсь избежать, так это неопределенности и невоспроизводимости, которые возникают при интерактивном выполнении всего через пользовательский интерфейс Drupal. Я понимаю, что в Drupal есть много методов для экспорта различных вещей, но, похоже, нет единой общей картины. Каждый совет имеет форму: «Если вы хотите сделать (какую-то конкретную вещь), это то, как вы могли бы сделать это». Или, что еще хуже, «это сработало для меня». Ничто из этого не дает мне уверенности и, что более важно, не дает приличных советов «передового опыта», которые говорят нам о намерениях разработчиков Drupal.
Есть несколько статей о «лучших практиках» Drupal, но они не выходят за рамки таких советов, как «Сделайте резервную копию, прежде чем что-то менять». Мне нужен более полезный совет.
Да, в Drupal 7 модуль Features позволяет экспортировать конфигурацию в код. Затем при развертывании для синхронизации можно использовать одну команду (исполняемую из CLI с использованием Drush). конфигурация в базе данных из кода.
Функции теперь встроены в Drupal 8 и называются управлением конфигурацией.
Drupal — это приложение, управляемое базой данных, и в этом случае также должен быть выпущен снимок базы данных.
Шагом перед развертыванием будет создание базы данных и создание снимка.
Вы можете запускать сценарии после развертывания для настройки конкретной конфигурации среды.