내용으로 건너뛰기

무료로 시작하기

이 문서는 버전별 채널을 사용하여 앱의 깨지지 않은 변경 사항을 처리하는 방법을 설명합니다. 이 접근 방식은 사용자가 호환 가능한 업데이트를 받을 수 있도록 하면서 앱의 다른 버전을 유지할 수 있도록 합니다.

예시 시나리오

예시 시나리오

Live Update를 사용하는 경우에 대해 가정해 보겠습니다.

  • 버전 1.2.3 (구 버전) - 프로덕션 채널 사용
  • 버전 2.0.0 (새 버전, 깨진 변경 사항 포함) - v2 채널 사용
  • Live update 1.2.4 (1.2.3 호환)
  • Live update 2.0.1 (2.0.0 호환)

전략: 메이저 버전마다 defaultChannel 사용

전략: 메이저 버전마다 defaultChannel 사용

권장 방법: 매JOR 버전마다 defaultChannel 유저 그룹에 대한 업데이트를 동적으로 할당하지 않고도 항상 특정 사용자 그룹에 업데이트를 푸시할 수 있도록 합니다.

// Version 1.x releases
defaultChannel: 'v1'
// Version 2.x releases
defaultChannel: 'v2'
// Version 3.x releases (future)
defaultChannel: 'v3'
터미널 창
# Create channel for version 2.x
npx @capgo/cli channel add v2

2. 버전 2.0.0을 위한 Capacitor 설정 업데이트

버전 2.0.0을 위한 Capacitor 설정 업데이트

Capacitor 설정을 버전 2.0.0을 위한 앱 스토어 빌드하기 전에 업데이트하세요:

capacitor.config.ts
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'Example App',
plugins: {
CapacitorUpdater: {
// ... other options
defaultChannel: 'v2' // All 2.0.0 users will use v2 channel
}
}
};
export default config;

3. 별도의 Code branch를 관리하십시오

3. 별도 Code branch 관리

터미널 창

클립보드에 복사
# Create and maintain a branch for version 1.x updates
git checkout -b v1-maintenance
git push origin v1-maintenance
# Your main branch continues with version 2.x development
git checkout main

Critical: 오래된 앱에 native code API가 없는 경우에는 JavaScript 번들을 푸시하지 마세요. 항상 적절한 branch에서 업데이트 빌드하세요.

  • : 1.x 앱 업데이트를 위한 (production channel)main branch
  • main branch2.x 앱 업데이트 (v2 채널)

4. 채널별로 패키지를 업로드하세요

4. 채널별로 패키지를 업로드하는 방법
터미널 창
# For 1.x updates: Build from v1-maintenance branch
git checkout v1-maintenance
# Make your 1.x compatible changes here
npx @capgo/cli bundle upload --channel production
# For 2.x updates: Build from main branch
git checkout main
# Make your 2.x changes here
npx @capgo/cli bundle upload --channel v2

5. 자체 할당 활성화

5. 자체 할당 활성화하는 방법
터미널 창
# Allow apps to self-assign to v2 channel
npx @capgo/cli channel set v2 --self-assign

앱 스토어에 버전 2.0.0을 배포하세요. 이 버전을 다운로드하는 모든 사용자(새 사용자 또는 업그레이드하는 기존 사용자)는 자동으로 v2 채널을 사용하게 됩니다. 이는 앱 패키지에 구성되어 있기 때문입니다.

주의

Section titled “4. Upload Bundles to Respective Channels”

버전 3.0.0을 출시할 때 더 많은 변경 사항이 있는 경우:

터미널 창
# Create channel for version 3.x
npx @capgo/cli channel add v3
// capacitor.config.ts for version 3.0.0
const config: CapacitorConfig = {
// ...
plugins: {
CapacitorUpdater: {
defaultChannel: 'v3' // Version 3.x users
}
}
};

이제 어떤 버전에도 업데이트 푸시할 수 있습니다:

  • production 채널 → 버전 1.x 사용자
  • v2 채널 → 버전 2.x 사용자
  • v3 채널 → 버전 3.x 사용자

7. 마이그레이션 후 정리

7. 마이그레이션 후 정리

모든 사용자가 버전 2.x로 마이그레이션되면(3-4개월 후):

  1. 삭제 defaultChannel Capacitor 설정에서 제거
  2. 버전 2 채널 삭제:
터미널 창
npx @capgo/cli channel delete v2
  1. 버전 1-maintenance branch 삭제:
터미널 창
git branch -d v1-maintenance
git push origin --delete v1-maintenance

배포하기 전에 각 채널에서 업데이트를 철저히 테스트하세요.

버전 1.x 업데이트를 유지하는 방법

버전 1.x 업데이트를 유지하는 방법

버전 1.x와 호환되는 업데이트를 보내려면:

  1. v1-maintenance branch로 switch하세요:
터미널 창
git checkout v1-maintenance
  1. 변경 사항을 만들고 커밋하세요:
터미널 창
# Make 1.x compatible changes
git add .
git commit -m "Fix for v1.x"
git push origin v1-maintenance
  1. 생산 채널에 업로드하세요:
터미널 창
npx @capgo/cli bundle upload --channel production

브레이킹 변경 사항에서 계속하세요

Section titled “Breaking Changes에서 계속하기”

Capgo를 사용 중이라면 업데이트 중단 채널 라우팅과 스테이지 롤아웃을 계획하기 위해 사용하는 경우 Channels Channels Channels Channels Channels Channels Channels Beta Testing Solution 버전 목표 솔루션 버전 목표 솔루션을 위한 제품 워크플로우