파괴적인 변경 사항
설치 단계 및 이 플러그인의 전체 마크다운 가이드가 포함된 설정 지시어를 복사하세요.
버전별 채널을 사용하여 앱에서 발생하는 깨진 변경 사항을 처리하는 방법에 대한 설명입니다. 이 접근 방식은 사용자가 호환 가능한 업데이트를 받을 수 있도록 앱의 다양한 버전을 유지할 수 있도록 합니다.
예시 시나리오
예시 시나리오 섹션예를 들어, 다음을 가정해 보세요:
- 버전 1.2.3 (기존 버전) - 프로덕션 채널 사용
- 버전 2.0.0 (새 버전, 깨끗한 변경 사항 포함) - v2 채널 사용
- 버전 1.2.4 (1.2.3 호환)
- 버전 2.0.1 (2.0.0 호환)
전략: 메이저 버전마다 defaultChannel 사용
전략: 메이저 버전마다 defaultChannel 사용 섹션권장 방법: 매JOR 버전마다 defaultChannel 매JOR 버전마다 설정을 하세요. 이렇게 하면 항상 특정 사용자 그룹에 업데이트를 푸시할 수 있습니다. 동적 채널 할당에 의존하지 않습니다.
// 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. Capacitor 버전 2.0.0을 위한 설정을 업데이트 하세요.
2. Capacitor 버전 2.0.0을 위한 설정 업데이트 방법버전 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. Manage Separate Code Branches
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 mainv1-maintenance branch Section titled “3. Manage Separate code Branches”
- 3. 별도의 __CAPGO_KEEP_0__ Branch 관리: 1.x 앱 업데이트를 위한 (production 채널)
- main branch: 2.x 앱 업데이트를 위한 (v2 채널)
4. 각 채널에 업로드할 Bundle을 업로드합니다.
4. 각 채널에 업로드할 Bundle을 업로드합니다.# 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 v25. 자체 할당을 활성화합니다.
5. 자체 할당을 활성화합니다.# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assign6. 앱 스토어에 배포합니다.
애플 스토어에 배포하기버전 2.0.0을 애플 스토어에 배포하고, 모든 사용자가 이 버전을 다운로드할 때(새 사용자 또는 업그레이드 중인 기존 사용자) 자동으로 v2 채널을 사용하게 됩니다. 이는 앱 번들에 채널을 구성했기 때문입니다.
애플 스토어 버전 3.0.0을 출시할 때 더 많은 깨진 변경 사항이 있을 때:
터미널 창클립보드에 복사
# 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. 마이그레이션 후 정리
마이그레이션 후 정리모든 사용자가 버전 2.x로 마이그레이션되면(3-4개월 후):
- 삭제
defaultChannelCapacitor 설정에서 삭제 - 버전 2 채널 삭제:
npx @capgo/cli channel delete v2- 버전 1-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 productionKeep going from Breaking Changes
Breaking Changes라는 제목의 섹션Capgo를 사용 중이라면 Breaking Changes 를 계획 채널 라우팅 및 스테이지드 롤아웃에 사용하여 Channels 에 연결하세요. Channels에 대한 implementation detail은 Channels 에 설명되어 있습니다. Channels에 대한 implementation detail은 Channels에 설명되어 있습니다. 채널에서 구현 세부 정보 베타 테스트 솔루션 베타 테스트 솔루션의 제품 워크플로우에 대해 버전 목표 솔루션 버전 목표 솔루션의 제품 워크플로우에 대해