バージョン管理.
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)は設定ではなく データベースコンテンツです。移行方法は次のとおりです。
- コンテンツのYAMLエクスポート・インポートにはDefault Contentモジュールを使います。
- 環境間の継続的なコンテンツ同期にはContent Synchronizationを使います。
- 1ページ分のマークアップの移動にはDrushを使います。
drush dxb:page:get 42でYAMLのmarkup配下に出力し、drush dxb:page:update 42 --markup=@page.htmlでターゲットのページに新しいリビジョンとして書き込みます。
チームでのワークフロー
- 開発者はローカルでページテンプレートを作成します。
- 設定をエクスポートしてコミットします。
- リポジトリにプッシュします。
- レビュー用にステージングにデプロイします。
- 承認後に本番環境にデプロイします。
次のステップ
自動デプロイのためのCI/CDパイプラインでDXPR Builderの理解をさらに深めましょう。