版本控制.
DXPR Builder 的设置、模板和档案属于 Drupal 配置,因此随其他配置一起进入 git。页面属于内容,留在数据库中。本页列出了两者的区分,以及如何在环境之间移动它们。
哪些内容进入版本控制
| 类型 | 是否进入版本控制 | 方式 |
|---|---|---|
| 设置 | 是,将产品密钥放入键之后 | 配置导出;见下文 |
| 页面模板 | 是 | 配置实体 |
| 用户模板 | 是 | 配置实体 |
| 用户档案 | 是 | 配置实体 |
| 产品密钥 | 仅不含值 | Key 实体;见下文 |
| 页面内容 | 通常否 | 存放在数据库中 |
| 上传文件 | 通常否 | 存放在文件目录中 |
配置管理
导出配置:
drush config:export
这会将以下 DXPR Builder 文件写入同步目录(通常为 config/sync/):
dxpr_builder.settings.ymldxpr_builder.page_template.*.ymldxpr_builder.user_template.*.ymldxpr_builder.dxpr_builder_profile.*.ymlkey.key.dxpr_builder_jwt.yml,或您为产品密钥选择的 Key 实体
重要提示:在默认的 Configuration storage 下,dxpr_builder.settings.yml 以明文保存您的产品密钥,即 json_web_token。在提交该文件之前,请将 Storage method 设为 Key module,位置在 DXPR Studio > DXPR Builder > General Settings (/admin/dxpr_studio/dxpr_builder/settings)。选择一个提供方读取环境变量或文件的键;保存表单后 json_web_token 即被清除。使用 Configuration 提供方的键仍将值存放在自己导出的文件中,因此请先在 Configuration > System > Keys (/admin/config/system/keys) 更改其提供方。然后重新导出,将这些文件提交到代码库。
部署配置
在目标环境上:
drush config:import
drush cache:rebuild
这会应用版本控制中的设置、模板和档案。
环境之间的内容
页面内容(文本字段中的 HTML)是数据库内容,不是配置。要移动它:
- 用 Default Content 模块以 YAML 导出和导入内容。
- 用 Content Synchronization 在环境之间持续同步内容。
- 用 Drush 移动单个页面的标记:
drush dxb:page:get 42以 YAML 在markup下输出它,drush dxb:page:update 42 --markup=@page.html将其写入目标上的页面,成为新修订。
团队工作流
- 开发人员在本地创建页面模板。
- 导出配置并提交。
- 推送到代码库。
- 部署到暂存站检查。
- 批准后部署到生产站。
接下来做什么?
用于自动部署的 CI/CD 流水线,继续探索 DXPR Builder。