滚动
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 的多站点文件夹如何通过多个代码仓库进行分离。假设每个网站都有自己的数据库并共享通用代码,如下所示:
. ----> 仓库 1(所有开发者共享)
-- core
-- modules
-- contrib
-- custom
-- themes
-- contrib
-- custom ----> 仓库 2(由前端开发者管理)
-- sites
-- site1 ----> 仓库 3(由 site1 开发者管理)
-- modules
-- custom
-- contrib
-- themes
-- custom
-- contrib
-- files
-- site2 ----> 仓库 4(由 site2 开发者管理)
-- modules
-- custom
-- contrib
-- themes
-- custom
-- contrib
-- files
-- site3 ----> 仓库 5(由 site3 开发者管理)
-- modules
-- custom
-- contrib
-- themes
-- custom
-- contrib
-- files
这种模型具有以下优势:
1. 前端开发人员可以进行独立于常规 Drupal 部署的前端部署。
2. 每个网站维护者都可以独立进行部署(例如,每个网站维护者可以拥有自己的发布时间计划)。