AEM as a Cloud ServiceでのAEM Edge機能のデプロイメント戦略
AEM as a Cloud Serviceでは、AEM Edge関数 が環境 にバインドされます。 プログラムのプロビジョニング、RDE、開発、ステージ、実稼動などのあらゆる環境には、独自のAEM Edge機能インスタンスが用意されています。 リリースプロセスに組み込む前に、そのスコープに関するプロモーション、シークレット、テストを計画しましょう。
AEM Edge関数のスコープ設定
RDE、Dev、Stage、Prodの各環境では、独自のAEM Edge Function インスタンスが実行されます。 すべてのインスタンスは同じコードリポジトリ(package.json ファイル)からデプロイされますが、各インスタンスは独自の設定、シークレット、KV データを保持します。
環境を通じてコードを宣伝する
AEM as a Cloud Serviceでは、すべてのCDN設定を1か所に集約するために、AEM サイトプロジェクト リポジトリにCDN設定(edgeFunctions.yamlおよびcdn.yaml)が格納されています。 ただし、AEM Edge関数コードは別のAEM Edge Functions プロジェクト リポジトリにあります。
次の環境に昇格するには、両方のリポジトリにマージしてからデプロイする必要があります。 大まかな手順は次のとおりです。
-
設定(
edgeFunctions.yamlおよびcdn.yaml)の変更をAEM サイトプロジェクトの Git ブランチにマージします。 -
Cloud Managerで、設定パイプラインが結合されたブランチを使用し、目的の環境をターゲットにしていることを確認します。
-
Cloud Manager設定パイプラインを実行して、
edgeFunctions.yamlおよびcdn.yamlファイルをターゲット環境にデプロイします。 -
AEM Edge関数コードの変更をAEM Edge Functions プロジェクトの Git ブランチに結合します。
-
CLI コンテキスト(またはCI/CD システム)が結合されたブランチを使用し、
aio aem edge-functions infoコマンドを使用して目的の環境をターゲットにしていることを確認します。 -
aio aem edge-functions deploy <name>を(CLIまたはCI/CD システムを介して)実行して、関数コードをターゲット環境にデプロイします。
環境ごとのシークレットの管理
シークレットは環境ごとに設定されます。 Cloud Managerで、ターゲット環境のConfiguration タブに追加します。
秘密以外の設定は、環境に関係なく同じように機能します。edgeFunctions.yamlで直接宣言し、Gitにコミットします。 正確な手順については、設定とシークレットの使用を参照してください。
環境スコープに関するSDLCの計画
- 他の環境に到達する前に、RDEで関数ロジックをテストします。
- 環境固有の秘密鍵とKV データを分離しておくことで、古い設定をプロモーションで転送しないようにします。
- 環境間の設定と秘密ドリフトを、後回しにするのではなく、リリースチェックリストの一部として追跡します。