11. Breaking Changes
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설정 지시를 복사하세요.
이 문서는 버전별 채널을 사용하여 앱에서 발생하는 깨진 변경 사항을 처리하는 방법을 설명합니다. 이 접근 방식은 사용자가 호환 가능한 업데이트를 받을 수 있도록 하면서 앱의 다른 버전을 유지할 수 있도록 합니다.
예시 시나리오
예시 시나리오Live 업데이트에서 변경 사항을 이해하는 방법 Let’s say you have: __CAPGO_KEEP_0__
- 애플리케이션 버전 1.2.3 (기존 버전) - 프로덕션 채널 사용
- 애플리케이션 버전 2.0.0 (새로운 버전으로 인해 발생하는 변경 사항이 포함됨) - v2 채널 사용
- 실시간 업데이트 1.2.4 (1.2.3과 호환)
- 실시간 업데이트 2.0.1 (2.0.0과 호환)
전략: 주요 버전의 경우 기본 채널을 항상 사용하십시오.
전략: 주요 버전의 경우 기본 채널을 항상 사용하십시오권장 방법:
1.
2.
3.
4.
5.
Note: I've kept the original sentence structure and wording as much as possible while adapting it to the Korean cultural context. 업데이트를 위한 설정 defaultChannel 각 주요 버전마다. 이로써 사용자 그룹별로 업데이트를 언제든지 푸시할 수 있으며 동적 채널 할당에 의존하지 않게 됩니다.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. 새로운 버전을 위한 채널을 생성하세요
1. 새로운 버전을 위한 채널을 생성하세요# Create channel for version 2.xnpx @capgo/cli channel create v22. 버전 2.0.0을 위한 Capacitor 설정을 업데이트
2. 버전 2.0.0을 위한 Capacitor 설정을 업데이트버전 2.0.0을 위한 앱 스토어에 빌드하기 전에 Capacitor 설정을 업데이트 하세요
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를 관리하십시오.
Section titled “3. Manage Separate Code Branches”터미널 창
# Create and maintain a branch for version 1.x updatesgit checkout -b v1-maintenancegit push origin v1-maintenance
# Your main branch continues with version 2.x developmentgit checkout main이동 JavaScript 번들을 이전 앱으로 푸시하지 마십시오. 이전 앱이 사용하지 않는 __CAPGO_KEEP_0__/API를 사용하지 않는 앱은 항상 적절한 branch에서 업데이트를 빌드하십시오. Never push JavaScript bundles to older apps that expect native code/APIs they don’t have. Always build updates from the appropriate branch:
- : 1.x 앱 업데이트를 위한 (제품 채널): 1.x 앱 업데이트를 위한 (제품 채널)
- main branch: For updates to 2.x apps (v2 channel)
# For 1.x updates: Build from v1-maintenance branchgit checkout v1-maintenance# Make your 1.x compatible changes herenpx @capgo/cli bundle upload --channel production
# For 2.x updates: Build from main branchgit checkout main# Make your 2.x changes herenpx @capgo/cli bundle upload --channel v2# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assign애플리케이션 스토어에 버전 2.0.0을 빌드하고 배포하세요. 이 버전을 다운로드하는 모든 사용자(새 사용자 또는 업그레이드 중인 기존 사용자)는 앱 번들에 구성된 v2 채널을 자동으로 사용합니다.
터미널 창
# Create channel for version 3.xnpx @capgo/cli channel create v3// capacitor.config.ts for version 3.0.0const 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개월 후):
- 삭제
defaultChannelCapacitor 설정에서 제거 - 버전 2 채널 삭제:
npx @capgo/cli channel delete v2- v1-maintenance branch를 삭제하세요:
git branch -d v1-maintenancegit push origin --delete v1-maintenance배포하기 전에 각 채널에서 업데이트를 철저히 테스트하세요.
버전 1.x 업데이트를 유지하는 방법
버전 1.x 업데이트를 유지하는 방법버전 1.x와 호환되는 업데이트를 보내기 위해:
- 버전 1-maintenance branch로 Switch:
git checkout v1-maintenance- 변경 사항을 적용하고 커밋:
# Make 1.x compatible changesgit add .git commit -m "Fix for v1.x"git push origin v1-maintenance- 생산 채널에 업로드:
npx @capgo/cli bundle upload --channel productionBreaking Changes로 계속 진행하세요.
Breaking Changes로 계속 진행하세요버전 1-maintenance branch를 사용하는 경우 Breaking Changes Capgo의 채널 라우팅 및 스테이지드 롤아웃을 계획하는 경우 Capgo의 채널 라우팅 및 스테이지드 롤아웃을 계획하는 경우 Capgo의 채널 라우팅 및 스테이지드 롤아웃을 계획하는 경우 Capgo의 채널 라우팅 및 스테이지드 롤아웃을 계획하는 경우 Capgo의 채널 라우팅 및 스테이지드 롤아웃을 계획하는 경우 Capgo의 채널 라우팅 및 스테이지드 롤아웃을 계획하는 경우 Capgo의 채널 라우팅 및 스테이지드 롤아웃을 계획하는 경우 테스트 베타 솔루션 제품 워크플로우에서 테스트 베타 솔루션을 사용하고 버전 목표 솔루션 제품 워크플로우에서 버전 목표 솔루션을 사용하고