Capgo Semver Tester
__CAPGO_KEEP_0__ 버전 테스터
native baseline 버전이 어디서 오는 지 보여줍니다.
'네이티브 기본 버전'이란 무엇을 의미하는가
네이티브 기본 버전은 Capgo으로 전송되는 네이티브 앱 버전입니다. 장치가 업데이트 서버에서 번들을 요청할 때 Capgo 앱에서 그 값은
version_build when the device asks the update server for a bundle. In a Capacitor app, that value can come from
CapacitorUpdater.version . 만약 그 설정이
없다면 플러그인은 iOS 또는 Android에서 네이티브 앱 버전을 가져옵니다. 그 버전을 가정하지 마십시오. 그 버전이 __CAPGO_KEEP_0__의 버전이 아닌 경우, 빌드가 그 값을 config 또는 네이티브 메타데이터로 복사하지 않는 한. capacitor.config.*__CAPGO_KEEP_0__는 여전히 사용합니다. package.json
__CAPGO_KEEP_0__는 여전히 사용합니다.
Capgo는 여전히 사용합니다. version_name __CAPGO_KEEP_0__ config를 비교하여 현재 설치된 다운로드된 번들을 알 수 있습니다. Channel semver 정책과 같은 major, minor, 및
patch __CAPGO_KEEP_0__ config와 비교하여 version_build.
Capacitor config을 설정합니다.
__CAPGO_KEEP_0__ config이 앱에서 보내는 특정 버전을 원할 때. CapacitorUpdater.version __CAPGO_KEEP_0__ config:
iOS와 Android 빌드에서 동일하게 유지하기 쉽습니다. __CAPGO_KEEP_0__ config이 업데이트를忘고 native 릴리즈 전에 업데이트를忘고 stale config가 잘못된 버전을 보고할 수 있습니다.
__CAPGO_KEEP_0__ config __CAPGO_KEEP_0__ config을 사용하여 플랫폼 버전, 예를 들어 iOS를 사용합니다.
__CAPGO_KEEP_0__ config을 사용하여 플랫폼 버전, 예를 들어 iOS를 사용합니다.
__CAPGO_KEEP_0__ config을 사용하여 플랫폼 버전, 예를 들어 iOS를 사용합니다. CFBundleShortVersionString 또는 안드로이드
versionName.
장점: TestFlight, App Store, Play Store, 또는 내부 테스트에서 설치한 바이너리와 일치합니다.
단점: 릴리즈 설정이 드리프트되면 플랫폼에 따라 달라질 수 있으므로 변경이 필요합니다.
대분류
Compare it with remote bundle versions, channel semver rules, or upload constraints such as --native-version.
장점: 최신 네이티브 code이 필요로 하는 자바스크립트를 오래된 앱 바이너리에 보내지 않도록 방지합니다.
단점: 규칙이 너무 엄격하면 채널 또는 대분류 메타데이터를 조정할 때까지 유효한 업데이트를 차단할 수 있습니다.
이 테스터에 대해, 기기에서 보내는 네이티브 기본선에 입력하세요 version_build그런 다음 Capgo를 원하는远程 버전과 비교합니다.
원하는 버전을 전달하기 위해 Capgo를 사용합니다.
Capgo가 왜 Semantic Versioning을 사용하는가
Semantic Versioning 소프트웨어 개발에서 가장 널리 채택된 버전 관리 표준인 Semantic Versioning을 사용하여 Capgo는 Capacitor 앱에 대한 실시간 업데이트를 전달할 때 호환성과 안전성을 보장합니다.
semver 표준은 Capgo가 각 업데이트에 포함된 변경 사항을 정확하게 이해할 수 있도록합니다:
- 패치 업데이트(1.0.0 → 1.0.1): 버그 수정, 자동으로 적용할 수 있습니다.
- 마이너 업데이트(1.0.0 → 1.1.0): 새로운 기능, 뒤로 호환됩니다.
- 메이저 업데이트(1.0.0 → 2.0.0): 파괴적인 변경, 네이티브 앱 스토어 릴리스가 필요합니다.
이러한 변경은 Capgo가 네이티브 code에 불일치한 업데이트를 전달하는 것을 방지하여 사용자에게 충돌을 방지하고 앱이 안정적으로 유지되도록합니다.
Flexible Semver Strategies: Beyond Basic Versioning
세밋 버전을 확장하는 방법 pre-release identifiers and build metadata:
🏷️ Build Metadata (+) - The "Cosmetic" Layer
중요: __CAPGO_KEEP_0__의 업데이트 로직에서 버전 우선 순위에 무시되는 메타데이터입니다.
1.2.0+anything equals 1.2.0 Capgo의 업데이트 로직에 대해.
🔧 개발 채널 (-) -
주의: 이전 버전보다 낮은 우선 순위를 가진 프리 리리즈 버전입니다.
1.3.0-beta.1 < 1.3.0
🎯 Hybrid Approach - Best of Both Worlds
실용적인 Semver 사용 사례 및 팀 전략
🚀 Startup / 빠른 개발
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 → __CAPGO_KEEP_0__2.2.0-rc.1+audit.ready → __CAPGO_KEEP_0__Strict semver와 규정 준수 메타데이터
🎮 게임 / 창의적 앱
1.0.0+season.winter.2024 → 계절 콘텐츠1.1.0+event.halloween → 이벤트 기반 기능1.2.0+assets.hd.remaster → 자산 업데이트콘텐츠 추적을 위한 창의적 메타데이터
⚡热修复 전략
1.2.0 → 현재 운영1.2.1-hotfix.payment → 심각한 버그 수정1.2.1+urgent.20240315.1430 → 타임스탬프와 함께 릴리즈__CAPGO_KEEP_0__ 테스트를 위한 프리 리리즈, 배포 추적을 위한 메타데이터
🌍 다중 플랫폼 전략
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 → 스테이징 배포1.4.0+prod.final.789 → 프로덕션 배포배포 메타데이터와 함께 자동화된 버전 관리
- __CAPGO_KEEP_0__을 사용하여 빌드 메타데이터 (+)를 추적, 타임스탬프 또는 호환성에 영향을 주지 않는 외관 정보에 사용하세요.
- __CAPGO_KEEP_0__을 사용하여 개발 채널이 다른 업데이트 순위가 필요한 경우(-)를 사용하세요.
- 두 가지를 모두 사용하여 최대의 유연성을 얻으세요.
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
differently는 __CAPGO_KEEP_0__에서 다르게 처리합니다.
__CAPGO_KEEP_0__의 의미 버전 관리 규칙에 대한 자세한 내용은 보고된 이슈
및 미 병합된 시도
정상적인 Semantic 버전
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 버전이 유효하지 않음
v1.0.0
✗ 'v'가 앞에 오면 안됩니다.
1.0
✗ 패치 버전이 누락되었습니다.
1.0.0.0
✗ 버전 파트가 너무 많습니다.
1.0.0-
✗ 프리 리리즈가 비어 있습니다.
1.0.0+
✗ 빌드 메타데이터가 비어 있습니다.
Capgo 업데이트 동작
이 도구는 공식 Semantic Versioning 사양을 따릅니다. npm의 implementation과는 달리.