배포 및 확인

IMPORTANT
AEM Edge 함수는 현재 베타 버전입니다. 기능 및 설명서는 변경될 수 있습니다. 피드백을 받으려면 aemcs-edgecompute-feedback@adobe.com에 문의하십시오.

목표는 서드파티 API에서 동적 데이터를 가져오기 위해 AEM Edge 함수를 호출하는 동적 Edge Delivery Services 블록을 빌드하는 것입니다.

네 번째 및 마지막 단계는 두 프로젝트를 모두 개발 사이트에 배포하고 로컬만이 아닌 전체 흐름이 처음부터 끝까지 작동하는지 확인하는 것입니다. Edge Delivery Services 블록과 AEM Edge 기능은 두 개의 별도 리포지토리에 있으므로 두 개의 개별 PR을 통해 홍보합니다. 먼저 Edge Delivery Services의 AEM Edge 기능 배포 전략을 검토하십시오. 이 비디오에서는 AEM Edge 함수가 어떻게 사이트 및 분기에 바인딩되는지, 그리고 사이트별로 비밀의 범위가 어떻게 지정되는지 다룹니다. 이 페이지는 이 자습서의 두 분기에 대한 구체적인 시퀀스입니다.

두 PR 모두 올리기 및 병합

  1. AEM Edge 함수 프로젝트에서 estimated-delivery(또는 생성한 분기)의 PR을 dev 분기로 올립니다. 내 경우에는 myfresccopa-edge-functions 프로젝트 PR를 참조하십시오.
  2. Edge Delivery Services 사이트 프로젝트에서 estimated-delivery(또는 생성한 분기)의 PR을 dev 분기로 올립니다. 내 경우에는 Frescopa sites 프로젝트 PR를 참조하십시오.
  3. 둘 다 검토하고 병합합니다.

두 PR은 독립적입니다. 병합 순서는 검토할 필요가 없지만, 블록은 단순히 경로를 호출하고 이미 작업 코드를 가리키는 CDN 경로에 의존하므로 배포된 사이트에서 Edge Delivery Services 블록의 호출이 성공하려면 AEM Edge 함수를 배포해야 합니다.

페이지를 라이브로 게시

푸시 코드로 돌아가서 블록을 작성하는 미리 보기에 게시하면 작성된 콘텐츠를 aem up 및 미리 보기 CDN 호스트에서 사용할 수 있습니다. 개발 사이트의 도메인에 있는 라이브 트래픽에는 라이브에 게시되는 것과 동일한 페이지가 필요합니다. AEM Sites에서 페이지를 열고 이전에 미리보기에 게시한 것과 동일한 방식으로 라이브에 게시합니다.

구성 파이프라인에 암호 추가

튜토리얼에서 아직 실제 호출에 대한 값을 사용하지 않지만 조롱된 업스트림 호출은 CATALOG_API_TOKENDELIVERY_API_TOKEN에서 SecretStoreManager.getSecret()까지 읽습니다. Edge 함수와 함께 구성 및 암호를 사용한 후 사이트당 접두사가 있는 Cloud Manager 파이프라인 변수를 참조하여 config/edgeFunctions.yaml에서 두 변수를 모두 암호로 선언합니다. 다음 단계에서 파이프라인을 실행하기 전에 Cloud Manager에서 해당 변수를 추가합니다.

구성 파이프라인에 암호 추가

CDN 구성 및 AEM Edge 기능 배포

AEM Edge Functions 프로젝트 dev 분기에 병합된 변경 내용이 있으면 먼저 CDN 구성을 배포한 다음 AEM Edge 기능 자체를 배포하십시오.

구성 파이프라인 실행

CDN 구성 검토 및 배포에 따라 Cloud Manager에서 Edge Delivery 구성 파이프라인을 실행합니다. main이(가) 아닌 dev 분기에서 파이프라인의 Source 코드 단계점을 확인하여 방금 병합한 구성을 가져옵니다. cdn.yaml과(와) edgeFunctions.yaml이(가) 모두 변경되었으므로 새 원본 선택기 규칙이 푸시되고 이전 단계에서 추가한 비밀 참조가 해결됩니다.

Cloud Manager에서 Edge Delivery 구성 파이프라인 실행

AEM Edge 기능 빌드 및 배포

파이프라인이 성공하면 AEM Edge 기능 프로젝트 빌드 및 배포에 따라 기능 자체를 빌드하고 배포합니다.

$ cd myfrescopa-edge-functions
$ git checkout dev && git pull

# Confirm the CLI context targets the Dev site
$ aio aem edge-functions info

aio aem edge-functions 정보(개발 사이트 도메인 확인)

빌드 및 배포하기 전에 Site Domain이(가) 개발 사이트(예: dev-myfrescopa.enablementadobe.com)와 일치하는지 확인하십시오.

$ aio aem edge-functions build
$ aio aem edge-functions deploy my-edge-function
NOTE
이 자습서는 CLI에서 배포되므로 단계를 계속 볼 수 있습니다. 실제 프로젝트의 경우 CI/CD를 통해 배포하므로 배포마다 트리거에 관계없이 동일한 방식으로 실행됩니다.

끝점 확인

AEM Edge 함수가 먼저 응답하는지 확인합니다.

$ curl "https://dev-myfrescopa.enablementadobe.com/api/frescopa/estimated-delivery?sku=house-blend-medium-roast&postcode=90210"

그런 다음 사이트를 열고 Edge Delivery Services 블록 자체를 실행합니다.

https://dev-myfrescopa.enablementadobe.com/dev/branches/estimated-delivery

양식을 제출하고 블록을 AEM Edge 함수에 연결에서 확인한 로컬 응답이 아닌 배포된 AEM Edge 함수의 라이브 데이터로 결과 렌더링이 수행되는지 확인하십시오.

브라우저의 DevTools Network 탭을 열고 요청 URL이 AEM Edge 함수의 원시 디버그 도메인이 아닌 사이트의 자체 도메인인지 확인합니다. 이렇게 하면 CDN 원본 선택기가 환경에 적합한 URL 선택에 설명된 것과 정확히 동일하게 상대 경로를 동일한 원본으로 라우팅합니다.

CDN을 통해 동일한 원본으로 라우팅된 예상 게재 요청을 표시하는 네트워크 탭

여기에서 요청이 실패하지만 로컬에서 작동하는 경우 먼저 CDN 원본 선택기 규칙(경로, originName 및 파이프라인이 실제로 실행되었는지)을 확인한 다음 AEM Edge 함수의 빌드 및 배포 출력에 오류가 있는지 확인합니다.

추가 홍보

이 기능을 dev에서 stagemain(으)로 이동하려면 사이트를 통해 코드 홍보에 따라 각 사이트에 대해 병합, 배포 및 확인 시퀀스를 반복합니다.

요약

두 개의 업스트림 호출을 병합하는 AEM Edge 함수 핸들러를 구현하고, 이 핸들러를 호출하는 Edge Delivery Services 블록을 빌드하고, 이 두 호출을 환경 인식 URL 스위칭 및 CORS로 연결하고, 두 호출을 모두 라이브 사이트에 배포했습니다.

추가 리소스

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