AEM의 안정성을 위한 프론트엔드 및 백엔드 개발 조정

문제 분리에 대한 핵심 모범 사례는 계약 간의 경계를 정의하는 계약을 신중하게 디자인하고 관리하는 것입니다. 프론트엔드 파이프라인에서 이 계약은 사이트에서 렌더링한 HTML 및 JSON 출력입니다. 이 출력의 안정성을 유지하면 프론트엔드 파이프라인이 최대 가치를 제공하여 프론트엔드 팀이 독립적으로 작업할 수 있습니다.

현재 프론트엔드 파이프라인과 동기적으로 전체 스택 파이프라인을 실행하는 내장 기능은 없습니다. 따라서 프론트엔드 개발을 전체 스택 파이프라인과 분리할 때는 경계를 정의하는 계약을 신중하게 관리하는 것이 중요합니다. 이 계약은 일반적으로 Experience Manager에서 렌더링한 HTML, JSON 또는 둘 다로 구성됩니다. 이 계약에 대한 모든 변경 사항은 원활한 전환과 적절한 업데이트 순서를 보장하기 위해 서로 다른 파이프라인을 관리하는 팀 간에 신중하게 조정되어야 합니다.

HTML 또는 JSON 출력을 변경할 때, 특히 두 영역이 모두 영향을 받는 경우에는 일반적으로 다음 단계를 권장합니다.

  1. 백엔드 팀은 먼저 새로운 HTML 또는 JSON 출력으로 개발 환경을 설정합니다.

    1. 전체 스택 파이프라인을 통해 필요한 새 HTML 또는 JSON 출력 또는 두 가지 모두를 렌더링하는 데 필요한 코드를 배포합니다.

    2. 프론트엔드 팀이 이전에 액세스할 수 없었던 환경에 대한 작업인 경우 다음 단계를 수행해야 합니다.

      1. URL: 프론트엔드 팀은 해당 개발 환경의 URL을 알고 있어야 합니다.

      2. ACL: 프론트엔드 팀에게는 "기여자" 권한과 유사한 권한이 있는 로컬 AEM 사용자가 제공되어야 합니다.

      3. Git: 프론트엔드 팀에는 해당 개발 환경을 특별히 타겟팅하는 프론트엔드 모듈에 대한 별도의 Git 위치가 있어야 합니다.

        일반적인 방법은 dev 분기를 만들어 개발 환경에서 변경한 내용을 관리하는 것입니다. 이 방법을 사용하면 프로덕션 환경에 배포하는 데 사용되는 main 분기로 다시 쉽게 병합할 수 있습니다.

      4. 파이프라인: 프론트엔드 팀에는 개발 환경에 배포하는 프론트엔드 파이프라인이 있어야 합니다. 해당 파이프라인은 이전 부분에서 설명한 대로 일반적으로 dev 분기에 있는 프론트엔드 모듈을 배포합니다.

  2. 그러면 프론트엔드 팀은 CSS 및 JS 코드가 이전 출력과 새 출력 모두에서 작동하도록 합니다.

    1. 평소대로 로컬에서 개발하려면 다음을 수행합니다.

      1. npx aem-site-theme-builder proxy 명령은 AEM 환경에서 콘텐츠를 검색하는 프록시 서버를 시작합니다. 프론트엔드 모듈의 CSS 및 JS 파일을 로컬 dist 폴더의 파일로 대체합니다.
      2. 숨겨진 .env 파일에서 AEM_URL 변수를 구성하면 로컬 프록시 서버에서 콘텐츠를 사용하는 AEM 환경을 제어할 수 있습니다.
      3. 따라서 AEM_URL의 값을 변경하면 프로덕션 환경과 개발 환경 간을 전환하여 두 환경에 모두 맞도록 CSS와 JS를 조정할 수 있습니다.
      4. 새 출력을 렌더링하는 개발 환경과 이전 출력을 렌더링하는 프로덕션 환경에서 작업해야 합니다.
    2. 업데이트된 프론트엔드 모듈이 두 환경 모두에서 작동하고 두 환경에 배포되면 프론트엔드 작업이 완료됩니다.

  3. 그러면 백엔드 팀은 전체 스택 파이프라인을 통해 새 HTML 또는 JSON 출력 또는 두 가지 모두를 렌더링하는 코드를 배포하여 프로덕션 환경을 업데이트할 수 있습니다.

  4. 프론트엔드 팀은 프론트엔드 파이프라인을 사용하여 CSS 및 JS를 정리하고, 이전 출력에만 필요한 요소를 제거하며, 프로덕션에 최종 업데이트를 배포할 수 있습니다.

추가 리소스

  • AEM 사이트 테마를 사용하여 사이트의 스타일 및 디자인을 맞춤화하는 방법에 대해 알아봅니다.

    사이트 테마를 참조하세요.

  • Adobe는 새 사이트 테마를 만들기 위한 스크립트 세트로 AEM 사이트 테마 빌더를 제공합니다.

    AEM 사이트 테마 빌더 보기

Experience Manager