Skip to content

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과 호환)

전략: 주요 버전의 경우 기본 채널을 항상 사용하십시오.

전략: 주요 버전의 경우 기본 채널을 항상 사용하십시오

권장 방법: Set a live update to break on a specific change. defaultChannel 각 메이저 버전마다. 이로 인해 사용자 그룹에 대한 업데이트를 항상 푸시 할 수 있으며 동적 채널 할당에 의존하지 않게 됩니다.

// Version 1.x releases
defaultChannel: 'v1'
// Version 2.x releases
defaultChannel: 'v2'
// Version 3.x releases (future)
defaultChannel: 'v3'

1. 새로운 버전을 위한 채널을 생성하세요

1. 새로운 버전을 위한 채널을 생성하세요
터미널 창
# Create channel for version 2.x
npx @capgo/cli channel create v2

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

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

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

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를 관리하십시오.'

Section titled “3. Manage Separate Code Branches”

터미널 창

클립보드에 복사
# 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

항상 JavaScript 번들을 기대하지 않는 native __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 앱 업데이트에 사용하십시오 (제품 채널)__CAPGO_KEEP_0__
  • main branch: For updates to 2.x apps (v2 channel)

4.

4.
Terminal window
# 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

Copy to clipboard

5.
Section titled “5. ”
# Allow apps to self-assign to v2 channel
npx @capgo/cli channel set v2 --self-assign

Copy to clipboard

6.

애플리케이션 스토어에 버전 2.0.0을 빌드하고 배포하세요. 이 버전을 다운로드하는 모든 사용자(새 사용자 또는 업그레이드 중인 기존 사용자)는 앱 번들에 구성된 v2 채널을 자동으로 사용합니다.

터미널 창

클립보드 복사
# Create channel for version 3.x
npx @capgo/cli channel create 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. v1-maintenance branch를 삭제하세요:
터미널 창
git branch -d v1-maintenance
git push origin --delete v1-maintenance

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

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

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

버전 1.x와 호환되는 업데이트를 보내기 위해:

  1. 버전 1-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

Capgo를 사용 중이라면 Breaking Changes Capgo 릴리스 채널 기능 이름. 페이지/영역: Capgo 솔루션 마케팅 페이지. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 본문: page solutions/white-label.astro. 메시지 키 `solutions_white_label_visual_cell2_value` (Solutions White Label Visual Cell2 Value). Channels Capgo 릴리스 채널 기능 이름. 페이지/영역: Capgo 솔루션 마케팅 페이지. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 본문: page solutions/white-label.astro. 메시지 키 `solutions_white_label_visual_cell2_value` (Solutions White Label Visual Cell2 Value). Channels Capgo 릴리스 채널 기능 이름. 페이지/영역: Capgo 솔루션 마케팅 페이지. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 본문: page solutions/white-label.astro. 메시지 키 `solutions_white_label_visual_cell2_value` (Solutions White Label Visual Cell2 Value). Channels Capgo 릴리스 채널 기능 이름. 페이지/영역: Capgo 솔루션 마케팅 페이지. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 본문: page solutions/white-label.astro. 메시지 키 `solutions_white_label_visual_cell2_value` (Solutions White Label Visual Cell2 Value). Beta 테스트 솔루션 Beta 테스트 솔루션의 제품 워크플로우에 대해 버전 목표 솔루션 버전 목표 솔루션의 제품 워크플로우에 대해