__CAPGO_KEEP_0__ 변경 사항
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 프롬프트 복사
앱에서 발생하는 깨끗한 변경 사항을 처리하는 방법에 대한 설명입니다. 이 접근 방식은 사용자가 호환 가능한 업데이트를 받을 수 있도록 앱의 다양한 버전을 유지 관리할 수 있도록 합니다.
예시 시나리오
예시 시나리오예를 들어, 다음을 가정해 보겠습니다.
- 앱 버전 1.2.3 (기존 버전) - 프로덕션 채널을 사용합니다.
- 버전 2.0.0 (새 버전, 깨진 변경 사항 포함) - v2 채널 사용
- 라이브 업데이트 1.2.4 (1.2.3과 호환)
- 라이브 업데이트 2.0.1 (2.0.0과 호환)
전략: 메이저 버전마다 defaultChannel 사용
전략: 메이저 버전마다 defaultChannel 사용권장 방법: Set a defaultChannel for every major version. This ensures you can always push updates to specific user groups without relying on dynamic channel assignment.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'__CAPGO_KEEP_0__
__CAPGO_KEEP_0__# Create channel for version 2.xnpx @capgo/cli channel create v22. Capacitor 버전 2.0.0을 위한 설정 업데이트
버전 2.0.0을 위한 Capacitor 설정 업데이트Capacitor 설정을 빌드하기 전에 앱 스토어 버전 2.0.0을 위한 업데이트 하세요.
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. 별도 Code Branch 관리”별도의 Git branch를 생성하여 앱 버전 간 호환성을 유지하세요:
# 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중요: 기존 앱이 지원하지 않는 code/API를 사용하지 않도록 하세요. 항상 해당 branch에서 업데이트를 빌드하세요:
- v1-maintenance branch: 1.x 앱 업데이트를 위한 (production channel)
- main branch: 2.x 앱 업데이트를 위한 (v2 channel)
4. 각 채널에 업로드 된 패키지
4. 업로드 번들을 각각의 채널에 업로드 하기# 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. 앱 스토어에 배포
제목: 6. 앱 스토어에 배포버전 2.0.0을 앱 스토어에 배포하고, 이 버전을 다운로드하는 모든 사용자(새 사용자 또는 업그레이드하는 기존 사용자)는 자동으로 v2 채널을 사용하게 됩니다. 이는 앱 번들에 구성된 채널 때문입니다.
미래 버전으로 확장하는 방법
Section titled “미래 버전으로 확장하는 방법”버전 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 } }};이제 어떤 버전에도 업데이트를 푸시할 수 있습니다:
productionchannel → 버전 1.x 사용자v2channel → 버전 2.x 사용자v3채널 → 버전 3.x 사용자
7. 마이그레이션 후 정리
7. 마이그레이션 후 정리 섹션버전 2.x로 모든 사용자가 마이그레이션되면 (3-4 개월 후):
- 삭제
defaultChannelCapacitor 설정에서 - __CAPGO_KEEP_0__ 설정에서 삭제
npx @capgo/cli channel delete v2- 복사
git branch -d v1-maintenancegit push origin --delete v1-maintenance배포 전에 각 채널에서 업데이트를 철저히 테스트하세요.
버전 1.x 업데이트 유지
버전 1.x 업데이트 유지버전 1.x와 호환되는 업데이트를 보내려면:
- v1-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 production브레이킹 변경 사항에서 계속하세요
브레이킹 변경 사항에서 계속하세요__CAPGO_KEEP_0__ 사용 중이라면 __CAPGO_KEEP_1__ 변경 사항 __CAPGO_KEEP_2__ 채널 라우팅과 단계별 출시를 계획하고, __CAPGO_KEEP_2__와 연결하세요. __CAPGO_KEEP_2__ __CAPGO_KEEP_2__의 구현 세부 정보에 대해 참조하세요. __CAPGO_KEEP_2__ __CAPGO_KEEP_2__의 구현 세부 정보에 대해 참조하세요. __CAPGO_KEEP_2__ __CAPGO_KEEP_2__의 구현 세부 정보에 대해 참조하세요. __CAPGO_KEEP_3__ 테스트 솔루션 __CAPGO_KEEP_3__의 제품 워크플로우에 대해 참조하세요. __CAPGO_KEEP_4__ 버전 대상 솔루션 __CAPGO_KEEP_0__