콘텐츠로 건너뛰기

채널

Live Update 채널은 앱의 특정 JS 번들 빌드를 가리키며, 해당 채널의 업데이트를 수신하도록 설정된 모든 기기와 공유됩니다. Capgo Live Updates SDK를 설치하면, 해당 채널로 구성된 모든 네이티브 바이너리는 앱이 실행될 때마다 사용 가능한 업데이트를 확인합니다. 언제든지 채널이 가리키는 빌드를 변경할 수 있으며, 필요한 경우 이전 빌드로 롤백할 수도 있습니다.

채널 설정하기

모든 앱에는 삭제할 수 없는 “Production”이라는 기본 채널이 제공됩니다. 새 채널을 추가하려면:

  1. Capgo 대시보드의 “Channels” 섹션으로 이동합니다.
  2. “New Channel” 버튼을 클릭합니다.
  3. 채널 이름을 입력하고 “Create”를 클릭합니다.

채널 이름은 원하는 대로 지정할 수 있습니다. 일반적인 전략은 다음과 같이 개발 단계에 맞춰 채널을 지정하는 것입니다:

  • Development - 로컬 기기나 에뮬레이터에서 라이브 업데이트 테스트용
  • QA - QA 팀이 광범위한 배포 전에 업데이트를 확인하기 위한 용도
  • Staging - 프로덕션과 유사한 환경에서 최종 테스트용
  • Production - 최종 사용자가 앱 스토어에서 받는 버전용

앱에서 채널 구성하기

채널을 생성한 후에는 앱이 적절한 채널을 수신하도록 구성해야 합니다. 이 예시에서는 Development 채널을 사용하겠습니다.

capacitor.config.ts (또는 capacitor.config.json) 파일을 엽니다. plugins 섹션에서 CapacitorUpdater 플러그인의 channel 속성을 원하는 채널 이름으로 설정합니다:

import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
defaultChannel: 'Development',
},
},
};

다음으로, 웹 앱을 빌드하고 npx cap sync를 실행하여 업데이트된 구성 파일을 iOS와 Android 프로젝트에 복사합니다. 이 동기화 단계를 건너뛰면, 네이티브 프로젝트는 이전에 구성된 채널을 계속 사용하게 됩니다.

채널에 번들 할당하기

라이브 업데이트를 배포하려면 새로운 JS 번들 빌드를 업로드하고 채널에 할당해야 합니다. Capgo CLI를 사용하여 한 번에 이 작업을 수행할 수 있습니다:

Terminal window
npx @capgo/cli@latest upload --channel=Development

이렇게 하면 빌드된 웹 자산을 업로드하고 새 번들을 Development 채널의 활성 빌드로 설정합니다. 해당 채널을 수신하도록 구성된 모든 앱은 다음 업데이트 확인 시 업데이트를 받게 됩니다.

Capgo 대시보드의 “Bundles” 섹션에서도 빌드를 채널에 할당할 수 있습니다. 빌드 옆의 메뉴 아이콘을 클릭하고 “Assign to Channel”을 선택하여 해당 빌드의 채널을 선택합니다.

번들 버전 관리와 채널

Capgo의 번들은 개별 채널에 특정되지 않고 앱 전체에 전역적이라는 점을 주의해야 합니다. 동일한 번들을 여러 채널에 할당할 수 있습니다.

번들 버전 관리 시, 채널별 빌드에 대해 semver 시맨틱 버저닝과 사전 릴리스 식별자를 사용하는 것을 권장합니다. 예를 들어, 베타 릴리스는 1.2.3-beta.1과 같이 버전을 지정할 수 있습니다.

이 접근 방식에는 여러 이점이 있습니다:

  • 빌드 간의 관계를 명확하게 전달합니다. 1.2.3-beta.1은 명백하게 1.2.3의 사전 릴리스입니다.
  • 채널 간에 버전 번호를 재사용할 수 있어 혼란을 줄입니다.
  • 명확한 롤백 경로를 제공합니다. 1.2.3에서 롤백해야 하는 경우 1.2.2가 이전 안정 릴리스임을 알 수 있습니다.

일반적인 채널 설정에 따른 번들 버전 예시입니다:

  • Development 채널: 1.2.3-dev.1, 1.2.3-dev.2
  • QA 채널: 1.2.3-qa.1, 1.2.3-qa.2
  • Staging 채널: 1.2.3-rc.1, 1.2.3-rc.2
  • Production 채널: 1.2.3, 1.2.4

시맨틱 버저닝과 사전 릴리스 식별자 사용은 권장되는 접근 방식이지만 필수는 아닙니다. 중요한 것은 빌드 간의 관계를 명확하게 전달하고 팀의 개발 프로세스에 부합하는 버전 관리 체계를 찾는 것입니다.

라이브 업데이트 롤백하기

버그가 있거나 되돌려야 하는 라이브 업데이트를 배포한 경우, 이전 빌드로 쉽게 롤백할 수 있습니다. 대시보드의 “Channels” 섹션에서:

  1. 롤백하려는 채널의 이름을 클릭합니다.
  2. 되돌리려는 빌드를 찾아 왕관 아이콘을 클릭합니다. 롤백 빌드
  3. 작업을 확인합니다.

선택한 빌드가 즉시 해당 채널의 활성 빌드가 됩니다. 앱은 다음 업데이트 확인 시 롤백된 버전을 받게 됩니다.

배포 자동화하기

더 고급 워크플로우의 경우, CI/CD 파이프라인의 일부로 라이브 업데이트 배포를 자동화할 수 있습니다. Capgo를 빌드 프로세스에 통합하면, 특정 브랜치에 푸시하거나 새 릴리스를 생성할 때마다 새 번들을 자동으로 업로드하고 채널에 할당할 수 있습니다.

Capgo 라이브 업데이트 자동화에 대해 자세히 알아보려면 CI/CD 통합 문서를 확인하세요.

기기에 배포하기

이제 채널에 대해 이해했으므로 실제 기기에 라이브 업데이트를 배포할 준비가 되었습니다. 기본 프로세스는 다음과 같습니다:

  1. 앱에 Capgo SDK 설치
  2. 앱이 원하는 채널을 수신하도록 구성
  3. 빌드를 업로드하고 해당 채널에 할당
  4. 앱을 실행하고 업데이트를 기다립니다!

자세한 설명은 라이브 업데이트 배포 가이드를 참조하세요. 즐거운 업데이트 되세요!