Edge Delivery ServicesでのAEM Edge機能のデプロイメント戦略

IMPORTANT
AEM Edge Functionsは現在ベータ版です。 機能やドキュメントは変更される可能性があります。 フィードバックについては、aemcs-edgecompute-feedback@adobe.comまでお問い合わせください。

Edge Delivery Servicesでは、AEM Edge関数​ がサイト ​にバインドされ、各サイトがGit ブランチにマッピングされます。 プログラムは、リポジトリの分岐の数に関係なく、3つのAEM Edge関数インスタンスを正確に取得します。 リリースプロセスに組み込む前に、その予算にもとづいて分岐戦略を策定しましょう。

AEM Edge関数のスコープ設定

AEM Edge関数のバインド先
デプロイメント制限
Edge Delivery Servicesプログラム
プログラムごとに3 (メイン、ステージ、開発ブランチ、実稼動、ステージング、開発サイトにマッピング)

各サイト(実稼動、ステージング、開発)は、固定ブランチ(mainstage、およびdev)にマッピングされ、独自のAEM Edge Function インスタンスを取得します。

Edge Delivery ServicesでのAEM Edge関数のデプロイメントモデル ​

サイトを通じてコードを宣伝

Edge Delivery Servicesでは、CDN設定(edgeFunctions.yamlおよびcdn.yaml)とAEM Edge機能コードは、同じ​AEM Edge Functions プロジェクト リポジトリにあります。 次のサイトにコードをプロモーションするための大まかな手順は次のとおりです。

  1. 設定とAEM Edge関数コードの変更を、ターゲットサイトにマッピングされたブランチにマージします(例:dev into stage)。

  2. Cloud Managerで、Edge Delivery Services設定パイプラインで結合されたブランチが使用されていることを確認します。

  3. Edge Delivery設定パイプラインを実行して、edgeFunctions.yamlおよびcdn.yaml ファイルをデプロイします。

  4. CLI コンテキスト(またはCI/CD システム)が結合されたブランチを使用し、aio aem edge-functions info コマンドを使用して目的のサイトをターゲットにしていることを確認します。

  5. 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_TOKENSTAGE_TRIPS_API_TOKEN、およびMAIN_TRIPS_API_TOKEN)。 正確な手順については、設定とシークレットの使用を参照してください。

秘密以外の設定は、サイトに関係なく同じように機能します。edgeFunctions.yamlで直接宣言し、Gitにコミットします。 正確な手順については、設定とシークレットの使用を参照してください。

サイトスコープに関するSDLCの計画

  • stageまたはmainに結合する前に、dev ブランチで関数ロジックをテストします。
  • 1つの設定パイプラインが3つのサイトすべてを提供するため、すべてのシークレットと変数名の前にサイト (DEV_, STAGE_, MAIN_)を付けます。
  • サイト間の設定と秘密ドリフトを、後回しにするのではなく、リリースチェックリストの一部として追跡します。

その他のリソース

recommendation-more-help
experience-manager-learn-help-cloud-service