Capgo Semver 테스터
채널 정책과 원본 버전을 비교합니다.
"네이티브 기본 버전"이란 무엇을 의미하는가
네이티브 기본 버전은 장치가 업데이트 서버에서 버블을 요청할 때 Capgo로 전송하는 네이티브 앱 버전입니다.
version_build 네이티브 기본 버전은 Capacitor 앱에서 해당 값이 오는 경우가 있습니다.
CapacitorUpdater.version in capacitor.config.*. iOS 또는 Android에서 native 앱 버전으로 돌아갑니다. package.json
버전이 아니라고 가정하지 마십시오.
Capgo가 여전히 version_name __CAPGO_KEEP_0__를 사용하여 다운로드 한 번들을 현재 설치된 것인지 알 수 있습니다. major, minor, and
patch , version_build.
remote 번들을 Capacitor config
설정할 때 CapacitorUpdater.version 설정할 때
설정할 때 설정할 때
설정할 때 업데이트를忘고 네이티브 릴리즈 전에 구성 파일이 오래되어 버전이 잘못 보고될 수 있습니다.
네이티브 앱 버전
플랫폼 버전을 사용하세요. 예를 들어 iOS CFBundleShortVersionString 또는 Android
versionName.
장점: 테스트 플라이트, 앱 스토어, 플레이 스토어, 또는 내부 테스트에서 설치한 사용자에 의해 설치된 바이너리와 일치합니다.
단점: 변경이 네이티브 빌드가 필요하고 플랫폼에 따라 릴리즈 설정이 달라질 수 있습니다.
배포 대상
remote bundle 버전, 채널 semver 규칙, 또는 메타데이터 업로드 제약 조건과 비교하세요. 예를 들어 --min-update-version채널은 반드시 --disable-auto-update metadata.
장점: 새로운 네이티브 code이 필요 한 자바스크립트를 오래된 앱 바이너리에 보내지 않도록 방지합니다.
Con: 규칙이 너무 엄격하면 채널 또는 번들 메타데이터를 조정할 때까지 유효한 업데이트를 차단할 수 있습니다.
이 테스터에 대해, 기기에서 보낸 네이티브 기본선에 __CAPGO_KEEP_0__를 입력하고, 원하는 __CAPGO_KEEP_0__가 전달할远程 번들을 비교하세요. version_buildwhy Capgo이 의미론적 버전을 사용하는지
왜 Capgo은 의미적 버전 관리를 사용합니까?
__CAPGO_KEEP_0__이 의미론적 버전을 사용하여 __CAPGO_KEEP_1__ 앱에 대한 라이브 업데이트를 전달할 때 호환성과 안전성을 보장합니다. is the most widely adopted versioning standard in software development. By using semver, Capgo ensures compatibility and safety when delivering live updates to your Capacitor apps.
semver 표준은 Capgo이 각 업데이트에서 포함된 변경 사항을 정확하게 이해할 수 있도록 합니다.
- 버그 수정, 자동으로 적용할 수 있습니다. 소수점 업데이트(1.0.0 → 1.1.0):
- 소수점 업데이트는 새로운 기능을 추가하거나 API를 변경할 때 사용됩니다. 새로운 기능, 뒤로 호환성
- 주요 업데이트 (1.0.0 → 2.0.0): 파괴적인 변경, 네이티브 앱 스토어 릴리즈 필요
이것은 Capgo가 네이티브 code에 불일치한 업데이트를 보내지 못하도록 막아, 사용자에게 충돌을 방지하고 앱이 안정적으로 유지되도록 보호합니다.
가변 Semver 전략: 기본 버전 관리를 넘어
세밋버는 핵심 형식에 대해 엄격하지만, 팀의 필요에 따라 확장할 수 있습니다. 이전 릴리즈 식별자 그리고 페이지/영역: Capgo 마케팅 웹사이트. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 보이는 곳: trust.astro 페이지. 메시지 키 `and` (And).:
빌드 메타데이터
중요: 버전 순위에서 빌드 메타데이터는 무시되며
1.2.0+anything equals 1.2.0 Capgo의 업데이트 논리에서
🔧 미리 출시 식별자 (-) - 개발 채널
주의: 미리 출시 버전은 낮은 우선 순위 -
1.3.0-beta.1 < 1.3.0
🎯 하이브리드 접근 방식 - 양쪽의 최선
실제 세계 Semver 사용 사례 및 팀 전략
🚀 스타트업 / 빠른 개발
0.1.0 - 첫 MVP 릴리즈0.2.0-beta.1 - 새로운 기능 테스트0.2.0+ui.v2 - UI 리디자인 메타데이터1.0.0 - 운영 준비 완료0.x.x 버전을 사용하여 1.0 이전 개발 및 디자인 추적용 메타데이터
🏢 기업 / 규제
2.1.0 → 분기별 릴리즈2.1.1+sec.patch.cve2024 → 보안 패치(추적)2.2.0-rc.1+audit.ready → 사전 감사 릴리즈 후보strict semver와 규제 메타데이터
🎮 게임 / 창의적 앱
1.0.0+season.winter.2024 → 계절 콘텐츠1.1.0+event.halloween → 이벤트 기반 기능1.2.0+assets.hd.remaster → 자산 업데이트콘텐츠 추적용 창의적 메타데이터
⚡ Hotfix 전략
1.2.0 → 현재 운영 버전1.2.1-hotfix.payment → 중요 버그 수정1.2.1+urgent.20240315.1430 → 시간대와 함께 릴리즈테스트를 위한 프리릴리즈, 배포 추적을 위한 메타데이터
🌍 다중 플랫폼 전략
1.3.0+ios.optimized → iOS 전용 최적화1.3.0+android.material3 → 안드로이드 디자인 업데이트1.3.0+web.pwa.ready → PWA 기능같은 버전, 플랫폼에 따른 메타데이터
🔄 CI/CD 통합
1.4.0-alpha.1+build.123 → 자동화된 프리릴리즈1.4.0+deploy.staging.456 → Staging 배포1.4.0+prod.final.789 → Production 배포배포 메타데이터와 함께 자동화된 버전 관리
- 빌드 메타데이터 (+)를 사용하여 추적, 타임스탬프, 또는 호환성에 영향을 주지 않는 외관 정보를 추적하세요.
- 개발 채널이 다른 업데이트순위가 필요한 경우 개발 채널을 나타내는 프리릴리즈 식별자 (-)를 사용하세요.
- 최대 유연성을 위해 두 가지를 모두 사용하세요:
1.2.0-beta.1+ui.dark.theme.20240315 - Capgo은 semver 순위 규칙을 존중하므로 채널 전략을 계획하세요.
중요: Capgo은 엄격한 의미 버전 관리를 사용합니다.
npm의 semver implementation과 달리 Capgo은 공식 SemVer 규격을 엄격하게 따릅니다. npm의 node-semver은 규격에서 알려진 편차를 가지고 있어 예상치 못한 동작이 발생할 수 있습니다.
예를 들어, npm은 버전을 다음과 같이 다르게 처리합니다. 1.0.0-alpha.1
규격에서 요구하는 것과 다르게 __CAPGO_KEEP_0__은 버전을 다르게 처리합니다. 자세한 내용은
reported issue 그리고
수정 시도 병합되지 않은
유효한 Semantic Versions
1.0.0
✓ 표준 릴리스
2.1.3-alpha
✓ 프리 리리스
1.0.0-beta.1
✓ 숫자가 포함된 프리 리리스
1.0.0+build.1
✓ 빌드 메타데이터
1.0.0-rc.1+build.1
✓ 완전한 버전
유효하지 않은 Semantic Versions
v1.0.0
✗ 'v'가 앞에 오면 안됩니다.
1.0
✗ 패치 버전이 누락됨
1.0.0.0
✗ 버전의 일부가 너무 많음
1.0.0-
✗ 프리 리리즈가 비어 있음
1.0.0+
✗ 빌드 메타데이터가 비어 있음
Capgo 업데이트 동작
이 도구는 공식 Semantic Versioning 사양을 따릅니다. npm의 implementation과 다릅니다.