Структура папок многосайта Drupal 8
Ниже приведен пример многосайтовой структуры с Drupal 8. Для простоты другие основные папки и файлы Drupal не перечислены.
Многосайтовая структура:
-- core
-- modules
-- contrib
-- custom
-- themes
-- contrib
-- custom
-- sites
-- site1
-- modules
-- custom
-- contrib
-- themes
-- custom
-- contrib
-- files
-- site2
-- modules
-- custom
-- contrib
-- themes
-- custom
-- contrib
-- files
-- site3
-- modules
-- custom
-- contrib
-- themes
-- custom
-- contrib
-- files
Сценарий Devops:
В многосайтовых средах обычно каждый сопровождающий сайта поддерживает свой собственный код сайта. В сложных средах фронт-разработчики также хотят, чтобы производственные развертывания были независимыми от обычных развертываний Drupal. Ниже приведен пример того, как многосайтовые папки Drupal 8 могут быть разделены несколькими хранилищами. Предполагается, что каждый сайт имеет свою собственную базу данных и общий код, как показано ниже.
. ----> Repository1 (common to all the developers)
-- core
-- modules
-- contrib
-- custom
-- themes
-- contrib
-- custom ----> Repository2 (managed by front end developers)
-- sites
-- site1 ----> Repository3 (managed by site1 developers)
-- modules
-- custom
-- contrib
-- themes
-- custom
-- contrib
-- files
-- site2 ----> Repository4 (managed by site2 developers)
-- modules
-- custom
-- contrib
-- themes
-- custom
-- contrib
-- files
-- site3 ----> Repository5 (managed by site3 developers)
-- modules
-- custom
-- contrib
-- themes
-- custom
-- contrib
-- files
Эта модель имеет следующие преимущества:
1. Фронтальные разработчики могут делать независимые развертывания из обычных развертываний Drupal.
2. Каждый сопровождающий сайта может выполнять независимые развертывания (например, каждый сопровождающий сайта может иметь свои собственные даты выпуска).