OTA는 코드 배포가 아니라 호환 계약이다
runtimeVersion, branch·channel, rollout·rollback과 테스트 피라미드
EAS Update는 심사 없이 JS와 asset을 바꾸지만 설치된 binary의 native API는 바꾸지 못합니다. runtimeVersion이 호환성 경계를 나타내고 branch는 업데이트 흐름, channel은 binary가 바라보는 흐름을 정합니다. 이 세 축을 섞으면 실행 직후 crash가 납니다.
| 변경 | 배포 경로 | 필수 gate |
|---|---|---|
| JS 로직·호환 asset | 같은 runtime OTA | smoke·crash-free·business KPI |
| Native dependency·permission | 새 store binary | device E2E·review |
| 긴급 JS hotfix | 제한 OTA canary | owner·rollback update |
| Runtime 전환 | 새 channel·binary | 구 runtime 지원 기간 |
- 변경 분류JS-only와 native-affecting 변경을 자동·수동으로 판정합니다.
- 호환성 지정runtimeVersion 정책과 지원 중인 binary 범위를 기록합니다.
- 소규모 배포internal·canary cohort에서 핵심 journey를 검증합니다.
- 확대·복구지표 gate를 통과해 확대하고 이전 update를 즉시 republish할 수 있게 합니다.