Edge Delivery ServicesでのAEM Edge機能のデプロイメント戦略
Edge Delivery Servicesでは、AEM Edge関数 がサイト にバインドされ、各サイトがGit ブランチにマッピングされます。 プログラムは、リポジトリの分岐の数に関係なく、3つのAEM Edge関数インスタンスを正確に取得します。 リリースプロセスに組み込む前に、その予算にもとづいて分岐戦略を策定しましょう。
AEM Edge関数のスコープ設定
各サイト(実稼動、ステージング、開発)は、固定ブランチ(main、stage、およびdev)にマッピングされ、独自のAEM Edge Function インスタンスを取得します。
サイトを通じてコードを宣伝
Edge Delivery Servicesでは、CDN設定(edgeFunctions.yamlおよびcdn.yaml)とAEM Edge機能コードは、同じAEM Edge Functions プロジェクト リポジトリにあります。 次のサイトにコードをプロモーションするための大まかな手順は次のとおりです。
-
設定とAEM Edge関数コードの変更を、ターゲットサイトにマッピングされたブランチにマージします(例:
devintostage)。 -
Cloud Managerで、Edge Delivery Services設定パイプラインで結合されたブランチが使用されていることを確認します。
-
Edge Delivery設定パイプラインを実行して、
edgeFunctions.yamlおよびcdn.yamlファイルをデプロイします。 -
CLI コンテキスト(またはCI/CD システム)が結合されたブランチを使用し、
aio aem edge-functions infoコマンドを使用して目的のサイトをターゲットにしていることを確認します。 -
aio aem edge-functions deploy <name>を(CLIまたはCI/CD システムを介して)実行して、関数コードをターゲット サイトにデプロイします。
サイト全体でシークレットを管理
Edge Delivery Servicesには、プログラムごとに1つの設定パイプラインがあり、サイトごとに1つではありません。 開発、ステージ、および実稼動サイトはすべて共有しているため、同じ変数名を3つの異なる値で3回追加することはできません。
Cloud Managerで、プログラムのEdge Delivery設定パイプラインを開き、変数の表示/編集を選択します。 サイトごとに1つのシークレットを追加します。接頭辞が付いているため、3つのサイトが競合することはありません(例:DEV_TRIPS_API_TOKEN、STAGE_TRIPS_API_TOKEN、およびMAIN_TRIPS_API_TOKEN)。 正確な手順については、設定とシークレットの使用を参照してください。
秘密以外の設定は、サイトに関係なく同じように機能します。edgeFunctions.yamlで直接宣言し、Gitにコミットします。 正確な手順については、設定とシークレットの使用を参照してください。
サイトスコープに関するSDLCの計画
stageまたはmainに結合する前に、devブランチで関数ロジックをテストします。- 1つの設定パイプラインが3つのサイトすべてを提供するため、すべてのシークレットと変数名の前にサイト (
DEV_,STAGE_,MAIN_)を付けます。 - サイト間の設定と秘密ドリフトを、後回しにするのではなく、リリースチェックリストの一部として追跡します。