CI/CD連携.

Learn DXPR BuilderManage the siteNaar productie

DXPR BuilderのコンテンツはDrupalのテキストフィールドと設定エンティティに保存されます。このページでは、CI/CDパイプラインとデプロイワークフローにDXPR Builderコンテンツを含める方法を説明します。

コンテンツの保存場所

DXPR Builderはデータをデータベースと設定に保存します。

データ種別 保存場所 デプロイ方法
ページコンテンツ テキストフィールド値(データベース) コンテンツ同期または移行
ページテンプレート 設定エンティティ 設定のエクスポート/インポート
ユーザーテンプレート 設定エンティティ 設定のエクスポート/インポート
設定 設定。プロダクトキーの保持場所はConfiguration storage キーがKeyエンティティに格納されれば設定のエクスポート/インポート。下記参照
ユーザープロファイル 設定エンティティ 設定のエクスポート/インポート
プロダクトキー 設定、またはキーを保持・参照するKeyエンティティ 環境ごと。下記参照

設定管理

DXPR Builderの設定とテンプレートはDrupal設定です。標準のDrupal設定管理でデプロイします。

エクスポート

drush config:export

これにより、次のDXPR Builder設定ファイルがエクスポートされます。

  • dxpr_builder.settings.yml
  • dxpr_builder.dxpr_builder_profile.*.yml
  • dxpr_builder.page_template.*.yml
  • dxpr_builder.user_template.*.yml
  • key.key.dxpr_builder_jwt.yml、またはプロダクトキー用に選択したKeyエンティティ

プロダクトキーが含まれている間はdxpr_builder.settings.ymlをコミットしません。詳しくは下のプロダクトキーをご覧ください。

インポート

drush config:import

CIパイプラインの例

drush deployはデータベースアップデートの実行、設定のインポート、キャッシュの再構築を正しい順序で行います。DXPR Builderのリリースではデータベースアップデートでコンテンツを変換するため、デプロイごとに実行します。

deploy:
  script:
    - drush deploy -y

コンテンツのデプロイ

ページコンテンツ(テキストフィールド内のHTML)は設定ではなく データベースコンテンツです。環境間でコンテンツをデプロイする方法は次のとおりです。

Default Contentモジュール

コンテンツをYAMLファイルとしてエクスポートし、ターゲット環境にインポートします。

Content Synchronization

コンテンツエンティティのエクスポート・インポートにはContent Synchronizationモジュール(content_sync)を使います。

データベースの同期

データベースをある環境から別の環境にコピーします。

drush sql:sync @source @target

環境固有の考慮事項

ファイルパス

DXPR Builderコンテンツはアップロード画像をファイルパスで参照します。ファイルディレクトリを環境間で同期します。

プロダクトキー

各環境には有効なプロダクトキーが必要です。デフォルトのConfiguration storageでは、dxpr_builder.settings.ymlにそのキーが平文で保持されています。設定値はjson_web_tokenです。ファイルをリポジトリに入れる前に次の手順を行います。

  1. 環境変数またはファイルを読み取るプロバイダーのキーをConfiguration > System > Keys (/admin/config/system/keys)で作成します。
  2. 場所はDXPR Studio > DXPR Builder > General Settings (/admin/dxpr_studio/dxpr_builder/settings)です。Storage methodをKey moduleに設定し、Keyでそのキーを選んでSave settingsをクリックします。これによりjson_web_tokenがクリアされます。
  3. 設定を再度エクスポートし、dxpr_builder.settings.ymlにキーが含まれていないことを確認します。

プロバイダーがConfigurationのキーでは、値が独自のエクスポートファイルに保存されるため、コミットは安全ではありません。

次のステップ

環境間のコンテンツステージングでDXPR Builderの理解をさらに深めましょう。