배포 개요

이 항목에서는 Adobe Commerce 버전 2.2 이상의 프로덕션 사이트에 Commerce 애플리케이션을 배포하는 프로세스에 대해 설명합니다. Adobe은 배포 중 다운타임을 경험하지 않으려는 대규모 사이트를 보유한 사용자에게 이 배포 방법을 권장합니다.

단일 컴퓨터에 Commerce을 배포하고 배포 중 일부 다운타임을 허용할 수 있는 경우 단일 컴퓨터 배포를 참조하십시오.

파이프라인 배포

Commerce 버전 2.2에서 Adobe은 가동 중지 시간을 최소화하면서 프로덕션에 배포할 수 있는 새로운 방법으로 파이프라인 배포 ​를 도입했습니다. 이 배포 프로세스는 다른 시스템에서 발생하며 모든 파이프라인 배포 시스템에 대해 일관된 구성을 유지하는 방법을 제공합니다. 이 모델은 단순하지만 강력한 모델로, 일반적인 구성 설정을 시스템별 설정(예: 호스트 및 포트) 또는 중요한 설정(예: 이름 및 암호)과 구분할 수 있습니다.

파이프라인 배포를 사용하기 위해 Adobe은 다음과 같이 가정합니다.

  • Adobe Commerce 구성 옵션에 대한 지식이 풍부한 숙련된 시스템 통합자입니다.
  • 대규모 Commerce 사이트(수천 개의 SKU(Stock Keeping Unit))를 관리하고 프로덕션 사이트의 가동 중단을 최소한으로 유지하고자 합니다.
  • PHP 프로그래밍에 대해 잘 알고 있습니다.
  • 소스 제어 방법 사용 경험.
  • 코드가 소스 제어 저장소에 있습니다. 이 안내서에서는 Git 기반 저장소를 사용하고 있다고 가정합니다.

다운타임 감소

프로덕션 시스템과 별도의 시스템에 정적 자산을 배포하고 코드를 컴파일하면 가동 중지 시간을 최소화할 수 있습니다. 프로덕션 시스템의 다운타임은 정적 파일과 컴파일된 코드를 서버로 전송하는 데 필요한 시간으로 제한됩니다.

배포 시스템

다음 용어를 사용하여 배포와 관련된 시스템을 설명합니다.

  • 개발 시스템—개발자가 코드를 사용자 지정하고 Commerce Marketplace에서 확장, 테마 및 언어 패키지를 설치하는 컴퓨터입니다. 또한 개발 시스템에서 모든 구성을 변경합니다. 많은 개발 시스템을 보유할 수 있습니다.

  • 시스템 빌드—프로덕션 시스템에 정적 자산을 배포하고 코드를 컴파일하는 시스템 중 하나입니다. 이러한 에셋을 프로덕션에 없는 시스템에 빌드하므로 프로덕션 시스템의 가동 중지 시간이 최소화됩니다.

    빌드 시스템에는 Commerce이 설치되어 있지 않아도 됩니다. Commerce 코드만 필요하지만 데이터베이스 연결은 필요하지 않습니다. 또한 빌드 시스템이 물리적으로 분리된 서버일 필요가 없습니다.

  • 스테이징 시스템선택 사항. UAT(사용자 수락 테스트)를 포함하여 모든 통합 코드의 최종 테스트에 사용할 스테이징 시스템을 선택적으로 설정할 수 있습니다. 프로덕션 시스템을 설정하는 것과 동일한 방식으로 스테이징 시스템을 설정합니다. 스테이징이 라이브 스토어가 아니며 고객의 주문을 처리하지 않는다는 점을 제외하면 프로덕션과 동일합니다.

  • 프로덕션 시스템—라이브 스토어. 여기에서 직접 구성을 최소한으로 변경해야 하며 스테이징 인스턴스에서 테스트하지 않은 것은 확실히 없습니다. 가능한 경우 스테이징/개발 인스턴스에서 테스트한 데이터 패치를 사용하여 구성을 변경합니다.

기타 배포 방법

선택적으로 다음을 포함한 다른 배포 방법을 사용할 수 있습니다.

구성 관리

12단계 앱 디자인에서 요소 3 이후의 모델링을 통해 Commerce은 이제 시스템 자체에 각 시스템에 대한 구성을 저장합니다. (개발 구성 설정은 개발 시스템에 저장되고, 프로덕션 설정은 프로덕션 시스템에 저장됩니다.)

Dell은 시스템 구성을 동기화하는 방법을 제공합니다.

  • 공유 구성—시스템별로 다르거나 중요하지 않은 설정입니다.

    공유 설정은 개발 및 프로덕션 시스템에서 일관되게 유지하려는 설정입니다. 개발(또는 클라우드 인프라 통합) 시스템의 Adobe Commerce에서 공유 구성을 설정합니다.

    공유 구성 파일 app/etc/config.php은(는) 소스 제어에 포함되어야 개발, 빌드 및 프로덕션 시스템 간에 공유할 수 있습니다.

  • 시스템별 구성 - 검색 엔진 호스트 이름 및 포트와 같이 시스템에 따라 달라지는 설정입니다.

  • 중요한 구성—PII(개인 식별 정보)나 API 키 또는 암호와 같은 설정을 노출하므로 해서는 안 되는 설정은 소스 제어에 있어야 합니다.

    시스템별 구성 파일 app/etc/env.php은(는) 소스 제어에 포함하거나 시스템 간에 공유하지 말아야 ​합니다. 대신 magento config:setmagento:sensitive:set 명령을(를) 사용하여 프로덕션 시스템의 해당 설정에 대한 값을 제공합니다.

INFO
구성을 관리하는 이러한 새로운 방법은 선택 사항입니다. 반드시 사용해야 하는 것은 아니지만 반드시 사용하는 것이 좋습니다.

대부분의 경우 공유, 시스템별 또는 중요 구성에서 설정한 구성 옵션은 관리자에서 편집할 수 없습니다. 이렇게 하면 모든 시스템에서 설정이 일관되게 유지됩니다. (--lock 옵션 없이 선택적으로 magento config:set 명령을(를) 사용하여 관리자에서 편집할 수 있는 설정을 구성할 수 있습니다.)

각 Commerce 구성 옵션에는 고유한 구성 경로 ​가 있습니다. 구성 옵션의 값을 설정하려면 CLI 명령 또는 환경 변수를 사용하여 특정 시스템의 해당 구성 경로에 대한 값을 설정할 수 있습니다.

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c