번들 푸시 및 배포

Managed Runtime에서 상용 애플리케이션을 실행하려면 먼저 코드 번들을 푸시하고 대상 환경에 배포해야 합니다.

이 가이드에서는 다음 작업을 안내합니다.

  • API 키를 설정합니다.
  • 명령줄 스크립트를 사용하여 번들을 Managed Runtime에 푸시합니다.
  • Runtime Admin 웹 애플리케이션을 사용하여 번들을 프로덕션 환경에 배포합니다.

Before you can use Managed Runtime and Runtime Admin, they must be enabled and you must request access to them. To enable Managed Runtime and Runtime Admin for your organization, reach out to your Salesforce account team. For access, ask your Commerce Cloud administrator to add either one of the following roles to your account using Account Manager: Managed Runtime User or Managed Runtime Admin.

홈 디렉터리에 .mobify 파일이 이미 있는 경우 이 섹션을 건너뛸 수 있습니다.

번들을 푸시하려면 먼저 컴퓨터를 인증해야 합니다.

개인 API 키를 찾아 권한 부여 프로세스를 시작합니다.

  1. Runtime Admin에 로그인합니다.
  2. 사용자 프로필 아이콘(오른쪽 상단)을 클릭하고 Account Settings(계정 설정)를 클릭합니다.
  3. API Key(API 키) 섹션까지 스크롤하여 Personal API Key(개인 API 키)를 찾습니다.
    • API 키를 아직 생성하지 않은 경우 Generate(생성) 링크를 클릭합니다.
    • API 키가 이미 있는 경우 Reset(재설정) 링크를 클릭하고, 확인 메시지가 나타나면 Reset my API Key(API 키 재설정)를 클릭합니다.
  4. 이 API 키를 사용하려면 명령을 복사합니다.

보안상의 이유로, Account Settings(계정 설정) 페이지로 돌아오면 API 키가 완전히 표시되지 않으므로, API 키의 전체 텍스트를 다시 복사하려면 API 키를 재설정해야 합니다.

명령줄에서 PWA Kit 프로젝트 디렉터리로 이동하고 복사한 명령을 실행합니다.

번들을 푸시하는 데 사용할 다른 컴퓨터에서 이 명령을 다시 실행합니다.

번들을 푸시하려면 코드를 Webpack 번들로 패키징한 후 Runtime Manager에 업로드하는 스크립트를 실행해야 합니다.

첫 번째 번들을 푸시하기 전에 PWA Kit 프로젝트 디렉터리의 package.json 파일이 올바르게 구성되었는지 확인합니다.

  1. Runtime Admin에 로그인합니다.
  2. 프로젝트의 이름을 클릭합니다.
  3. 왼쪽 탐색 메뉴에서 Project Settings(프로젝트 설정)를 클릭합니다.
  4. Project ID(프로젝트 ID) 문자열을 복사합니다. 예: my-project.
  5. package.json.name 필드에 붙여넣기

배포 시에 번들이 정상적으로 작동하도록 하려면 Runtime Admin에서 환경에 대해 프록시를 설정하십시오.

번들을 푸시하려면 명령줄로 이동하여 프로젝트 디렉터리에서 다음 명령을 실행합니다.

푸시 스크립트에 제공할 수 있는 다른 옵션 목록을 보려면 npm run push -- --help를 실행합니다.

번들이 성공적으로 푸시되면 터미널에 Beginning upload…라는 메시지와 Bundle Uploaded!라는 메시지가 차례로 나타납니다.

문제가 발생한 경우, Beginning upload… 메시지 뒤에 있는 세 가지 오류 메시지(HTTP 응답 상태 코드 기준)를 터미널에서 찾습니다.

다음은 각 오류 메시지를 해결하는 방법입니다.

HTTP 404에서 지정한 이름의 프로젝트가 존재하지 않거나, 프로젝트 변경이 승인되지 않은 경우 터미널에 package.json 오류가 반환됩니다.

이 오류를 해결하려면:

  1. 이 단계를 반복하여 번들을 푸시하고 푸시 스크립트에 전달하는 이메일 주소와 API 키 설정이 Runtime Admin의 설정과 일치하는지 확인합니다.
  2. 프로젝트가 Runtime Admin 홈 페이지의 Projects(프로젝트) 아래에 표시되는지 확인합니다.
    • 프로젝트가 표시되지 않으면 지원 팀에 문의하여 프로젝트가 생성되었는지, 팀원으로서 해당 프로젝트에 액세스할 수 있는지 확인하십시오.
  3. Runtime Admin에서 프로젝트를 엽니다.
  4. 왼쪽 탐색 메뉴에서 Project Settings(프로젝트 설정)를 클릭합니다.
  5. Project ID(프로젝트 ID) 문자열을 복사합니다. 예: my-project.
  6. 프로젝트 디렉터리 내에 있는 package.json을 엽니다.
  7. 복사한 프로젝트 ID 문자열과 nameprojectSlug의 값이 일치하는지 확인합니다.

번들을 푸시할 권한이 없는 경우 터미널에 HTTP 401 오류가 반환됩니다. 이 오류를 해결하려면 Commerce Cloud Account Manager 관리자에게 연락하여 푸시 번들을 포함하도록 권한을 승격해줄 것을 요청하십시오.

번들이 너무 크면 단말기에 HTTP 413 오류가 반환됩니다. 번들의 최대 크기는 400MB이고 번들 내의 모든 ssr_onlyssr_shared 파일의 최대 크기는 249MB입니다. 이 오류를 해결하려면 프로젝트 내 빌드 폴더를 검사하여 번들 크기를 확인합니다. 프로젝트가 최대 크기에 가까워졌거나 이미 초과된 경우 다음 방법으로 줄일 수 있습니다.

  • 사용하지 않는 자산 제거
  • 불필요한 자산 제거
  • 이미지 축소

프로젝트 파일의 크기를 줄인 후 번들을 다시 푸시해 봅니다.

HTTPS 오류는 로컬 컴퓨터나 회사 VPN 또는 방화벽과 같은 네트워크 프록시가 cloud.mobify.com에서 호스팅되는 Managed Runtime의 API와 통신하도록 구성되지 않은 경우에 발생할 수 있습니다.

이러한 오류에는 unable to get local issuer certificate 또는 self signed certificate in certificate chain과 같은 메시지가 포함될 수 있습니다.

이러한 오류를 해결하려면 회사 IT 팀의 도움을 받아 회사 네트워크 환경에 맞게 Node.js 설치를 구성하십시오.

번들을 성공적으로 푸시한 후에는 번들을 대상 환경에 배포할 수 있습니다.

PWA Kit 및 Managed Runtime을 사용하는 사이트의 경우, 각 환경에 대해 배포되는 번들은 한 번에 하나씩만 지정할 수 있습니다. 기본적으로 모든 프로젝트에는 production이라는 단일 환경이 제공됩니다. Runtime Admin 또는 Managed Runtime API를 사용하여 더 많은 환경을 생성할 수 있습니다.

번들을 배포하려면:

  1. Runtime Admin에 로그인합니다.
  2. 프로젝트의 이름을 클릭합니다.
  3. Environments(환경)에서 배포할 환경의 이름을 클릭합니다(예: Production).
  4. Bundles(번들)에서 번들 옆의 Deploy(배포) 버튼을 클릭합니다.
  5. Confirm Deploy(배포 확인)를 클릭합니다.
  6. 배포가 완료될 때까지 기다립니다.

배포가 성공적으로 완료되면 번들이 Deployed Bundle(배포된 번들) 머리글 아래에 나타납니다.

새 환경에 처음 배포하는 경우 프로세스를 완료하는 데 최대 1시간이 걸릴 수 있습니다. CDN을 변경해야 하는 경우를 제외하고, 이후 배포에 약 1분 정도 걸립니다. CDN 변경은 약 15분 정도 걸리며, 배포에 요청 프로세서 또는 프록시 구성에 대한 변경 사항이 포함된 경우 필수입니다.