Capgo Semver テスター
Capacitor アプリのアップデートのセマンティック バージョニング互換性を確認
「ローカルバージョン」って何?
ローカルバージョンは、デバイスがアップデートサーバーからバンドルを要求するときにすでにインストールされているバージョンです。Capacitor アプリでは、その値は
CapacitorUpdater.version に来ることができます。 capacitor.config.*その設定が存在しない場合、プラグインはiOSまたはAndroidのネイティブアプリのバージョンにフォールバックします。 package.json
バージョンは、ビルドがconfigまたはネイティブメタデータにその値をコピーしていない限り、変更されません。
Capacitor config
設定 CapacitorUpdater.version アプリが明示的にバージョンを送信したい場合に使用します。
Pro: iOSとAndroidのビルドで同じバージョンを維持することが簡単です。
Con: ネイティブリリース前に更新を忘れた場合、古いconfigが間違ったバージョンを報告する可能性があります。
ネイティブアプリバージョン
プラットフォームのバージョンを使用します。例えば、iOS CFBundleShortVersionString またはAndroid
versionName.
Pro: TestFlight、App Store、Play Store、または内部テストからインストールされたバイナリと一致します。
Con: 変更はネイティブビルドが必要であり、リリース設定が異なるプラットフォームによって異なります。
バンドルターゲティング
リモートバンドルバージョン、チャネルsemverルール、またはアップロード制約である" --native-version.
Pro: 古いアプリバイナリに送信する必要があるJavaScriptが新しいネイティブcodeを必要とするのを防ぎます。
Con: ルールがあまりにも厳密な場合、チャネルまたはバンドルメタデータを調整するまで、有効なアップデートをブロックする可能性があります。
このテスターに、デバイスがローカルに報告するバージョンを入力し、リモートバンドルバージョンと比較して、Capgoを配信したいバージョンを確認してください。
なぜCapgoがセマンティックバージョニングを使用するのか
セマンティックバージョニング ソフトウェア開発における最も広く採用されているバージョニング標準です。 semverを使用することで、CapgoはCapgoの互換性と安全性を保証し、ライブアップデートをCapacitorアプリに提供することができます。
The semver standard allows Capgo to understand exactly what changes are included in each update:
- パッチアップデート (1.0.0 → 1.0.1): バグ修正、自動適用可能
- マイナーアップデート (1.0.0 → 1.1.0): 新機能、バックワード互換性あり
- メジャーアップデート (1.0.0 → 2.0.0): 破壊的変更、ネイティブアプリストアリリース必要
This prevents Capgo from ever sending an incompatible update to your native code, protecting your users from crashes and ensuring your app remains stable.
柔軟なsemver戦略:基本的なバージョニングを超えて
semverはコアフォーマットについて厳格ですが、チームのニーズに応じて拡張することができます。 プレリリース識別子 と ビルドメタデータ:
🏷️ ビルドメタデータ (+) - "外観」レイヤー
重要: ビルドメタデータはバージョン順位の際に無視されます -
1.2.0+anything 等しい 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 → 検査前のリリース候補厳格な 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 → Android デザインの更新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 → プロダクションのデプロイデプロイメタデータとともに自動化されたバージョン
- ビルドメタデータ (+) を使用して、トラッキング、タイムスタンプ、または互換性に影響しない外観情報を追跡する
- プレリリース識別子 (-) を使用して、異なる更新の優先順位が必要な開発チャネル
- 両方を組み合わせて最大限の柔軟性を実現する
1.2.0-beta.1+ui.dark.theme.20240315 - 注意: Capgo は semver の優先順位規則を尊重するため、チャンネル戦略を適切に計画してください。
のバージョンと
1.0.0 のバージョンと 2.1.3-alpha のバージョンと 1.0.0-beta.1 ✓ プレリリースの番号付き 1.0.0+build.1 ✓ ビルドメタデータ 1.0.0-rc.1+build.1 ✓ 完全なバージョン 無効なシナティックバージョン
v1.0.0 ✗ 'v' の先頭が許可されていません 1.0 ✗ パッチバージョンが欠落しています 1.0.0.0 ✗ バージョン部分が多すぎます 1.0.0- ✗ プレリリースが空です 1.0.0+ ✗ ビルドメタデータが空です Capgo アップデートの動作
このツールは公式の セマンティックバージョニングの仕様を遵守しています npm の実装とは異なります。