メイン コンテンツにスキップ

How to Use Semantic Versioning with Capgo OTA Updates

Learn how to streamline app updates and version control using Semantic Versioning with Capgo's OTA updates for Capacitor apps.

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケター

How to Use Semantic Versioning with Capgo OTA Updates

アップデートを簡素化したい アプリケーションアップデート とバージョン管理? セマンティック バージョニング (SemVer)Capgoのオーバー・ザ・エア (OTA) のアップデートは、 Capacitor のアプリをより簡単かつ速く管理する。ここではその方法について説明します。

  • セマンティック バージョニングの基本 バージョンは次の形式を使用します。 MAJOR.MINOR.PATCH:

    • メジャーバージョン: メジャーバージョンでは大幅な変更が行われます。
    • マイナーバージョン: 新機能のバックワード互換性のあるものについて。
    • PATCH: バグ修正について。
  • CapgoとCapgoのOTAアップデートの使用方法についてのセマンティックバージョニングの理由。

    • __CAPGO_KEEP_0__のアップデートについての明確なコミュニケーション。
    • __CAPGO_KEEP_0__のバージョン管理のより賢い方法。
    • __CAPGO_KEEP_0__の依存関係の混乱を避ける。
    • __CAPGO_KEEP_0__のリリース計画の整理。
  • Capgoのセットアップ ステップ:

    1. Capgoのアップデートプラグインをインストールする。
    2. __CAPGO_KEEP_0__のアプリのバージョンを設定する。 capacitor.config.json その他のファイルも含めます。
    3. Capgoで使用するAPIキーで初期化してください。
    4. 使用 Capgo CLIを使用してアップデートをバンドルしてアップロードしてください。 バージョンとチャンネルの管理
  • 別々のチャンネルを使用してください(例:「ベータ」はテスト用、「プロダクション」は安定版のリリース用)。:

    • アップデートポリシーを制御してください(パッチの自動アップデート、メジャーチェンジの手動承認)。
    • アップデートのロールバックオプション(失敗したアップデートの場合)。
    • デプロイプロセス:
  • SemVerルールに従ってバージョン番号を更新してください。

    • デプロイする前に徹底的なテストを実行してください。
    • Capgoで使用する__CAPGO_KEEP_0__キーで初期化してください。
    • Use CLI commands to upload and distribute updates.

Capgo ensures updates reach users quickly and reliably, with tools to handle disruptions and maintain stability. Perfect for teams using CI/CD workflows to automate updates.

Quick Tip: アップデートを常にテストし、ステージドロールアウトを効果的に管理するためにチャンネルを使用することをお勧めします。

セマンティックバージョニング | Level Up

Capgo セットアップガイド

Capgo Live Update Dashboard Interface

Here’s how to set up Capgo for managing OTA updates and version control with ease.

初期設定手順

最初はCapgoをインストールする Capgo updater plugin:

npm install @capgo/capacitor-updater  
npx cap sync

Capgoを使用するには、 capacitor.config.json __CAPGO_KEEP_0__

{ 
  "appId": "com.example.app", 
  "appName": "My App", 
  "version": "1.0.0" 
}

バージョン番号は、

  • package.json バージョン番号の詳細を更新する必要があります。 version __CAPGO_KEEP_0__
  • android/app/build.gradle __CAPGO_KEEP_0__ versionName)
  • ios/App/App.xcodeproj/project.pbxproj __CAPGO_KEEP_0__ CURRENT_PROJECT_VERSION)

Once configured, initialize Capgo with your API key:

npx @capgo/cli@latest init YOUR_API_KEY

Capgoの設定

設定フェーズ キーアクション 検証ステップ
インストール プラグインのインストールと同期 確認 package.json
設定 バージョン番号の設定 すべてのファイルを確認
初期化 CapgoのAPIキーと接続 接続状態のテスト
ビルド 初期バンドルの作成 アップロードの成功を確認

バージョン管理の統合

CapgoはCI/CDプラットフォームとよく組み合わされ、 自動更新 自動更新

CircleCI

{ 
  "plugins": { 
    "CapacitorUpdater": { 
      "autoUpdate": false 
    } 
  } 
}

This ensures Capgo won’t overwrite your local changes. Once your setup is ready, upload your first version:

npx @capgo/cli@latest bundle upload  
npx @capgo/cli@latest channel set production -s default

最後に、Capgo OTAアップデートのためのバンドルの健康状態をアプリのメインファイルでnativeプラグインに通知してください:

import { CapacitorUpdater } from '@capgo/capacitor-updater';  
CapacitorUpdater.notifyAppReady();

この設定により、OTAの展開とバージョンの管理がスムーズになります。

Using Semantic Versioning with Capgo

バージョン番号の管理

Capgo uses Semantic Versioning (SemVer) to manage app versions, formatted as セマンティックバージョニングのしくみメジャーバージョン(X.0.0)

  • :互換性のない変更のためにメジャー番号を増やすマイナーバージョン(1.X.0)
  • :互換性のある新機能のためにマイナー番号を増やすパッチバージョン(1.0.X)
  • Patch Version (1.0.X): バグ修正に影響しない場合のPATCH番号を増やす。
バージョンタイプ インクリメントするタイミング 自動更新の動作
メジャー (X.0.0) 破壊的なAPI変更の場合 手動承認が必要
マイナー (1.X.0) 新機能の場合 Capgoで構成可能
パッチ (1.0.X) バグ修正の場合 通常自動

SemVer規則に従うことで、バージョン管理を簡素化し、更新がスムーズに実行されるようにすることができます。

バージョン管理ガイドライン

Capgoは、異なるワークフローのステージごとに異なるチャンネルを設定することで、展開を効果的に管理することを可能にします。

  • チャンネルベースのバージョン管理:展開プロセスを組織化するために、テストとプロダクション用に別々のチャンネルを作成します。たとえば:

    • 新機能をテストするために、「ベータ」チャンネル(例:1.2.0-ベータ)を使用します。
    • 安定版リリース用に「プロダクション」チャンネル(例:1.2.0)を維持します。
    • プラットフォーム固有の問題に対処するためにプラットフォーム固有のチャンネル(例:「ios-hotfix」バージョン1.2.1)を追加します。
  • 更新ポリシー設定:Capgoの設定オプションを使用して、更新の適用方法を制御します。たとえば:

    {
      "plugins": {
        "CapacitorUpdater": {
          "disableAutoUpdate": "minor"
        }
      }
    }

    この設定により、ユーザーは自動的にパッチ更新を受け取りますが、マイナーおよびメジャー更新には手動の承認が必要になります。

  • バージョンロールバック戦略: プレリリース識別子を使用して、明確なロールバックオプションを維持します。このアプローチにより、問題が発生した場合に前のバージョンに戻ることができ、すべてのチャネルでバージョニングを一貫して維持できます。

これらのベストプラクティスにより、更新を管理し、新機能をテストし、アプリのデプロイメントプロセスの安定性を維持することが容易になります。

sbb-itb-f9944d2

OTA更新の展開

バージョン管理設定が完了したら、次の手順に従ってOTA更新を効果的に展開してください。

更新準備

まず、 package.json を更新し、 capacitor.config.jsonPage/area: Capgo marketing website. Role: Short UI label or navigation item. Seen in: page trust.astro. Message key `and` (And).

  • バグ修正: PATCH番号を増やす (例: 1.0.1 → 1.0.2)
  • 新機能: MINOR番号を増やす (例: 1.0.0 → 1.1.0)
  • 重大変更: MAJOR番号を増やす (例: 1.0.0 → 2.0.0)

ビルドを徹底的にテストし、サーバーとアプリケーションが正常に通信していることを確認する notifyAppReady.

次に、 アップデート戦略を決定する。選択肢は次のとおりです。

  • 自動アップデート: 最小バージョン要件を自動的に強制する。
  • Manual Control: __CAPGO_KEEP_0__のバージョンを厳密に指定してアップデートを実行します。
  • Channel-Based: チャンネルを使用してテストとステージングされたロールアウトを実行します。

Capgo CLI Update Commands

Use Capgo’s CLI to deploy your update with ease. Here’s how:

# Initialize Capgo in your project
npx @capgo/cli@latest init [apikey]

# Upload your update bundle
npx @capgo/cli bundle upload [appId]

# Add a new distribution channel
npx @capgo/cli channel add [channelName] [appId]

Capgoは、エンドツーエンド暗号化と安全なキー管理を使用して、安全なデプロイを保証します。

“@Capgoは、@AppFlowと比較して、熱いcodeプッシュのスマートな方法です (😊)”

アップデートがデプロイされた後、Capgoのダッシュボードを使用してアップデートを監視できます。アップデートは、ユーザーがアプリを開いた後、通常数分以内にユーザーに到達します。プロセスは以下のとおりです。

  • アプリはアップデートをチェックします。
  • バックグラウンドでアップデートをダウンロードします。
  • ユーザーがアプリを終了したときに、新しいバージョンを有効にします。
  • 起動時にアップデートを適用します。

企業向けのデプロイでは、CI/CDの自動化を組み込む必要があるかもしれません。

「Capgoは、継続的なユーザーへの配信を実現するmission-criticalなものです。アジャイル開発を実践しているので、Capgoは大切です!」

問題解決とヒント

バージョン管理に関する問題

Capgoのシーケンシャルバージョニングの管理は、更新のデプロイを複雑にすることがあります。開発作業を上書きしないようにするには、次の設定を行ってください。 capacitor.config.json ファイル:

{ 
  "plugins": { 
    "CapacitorUpdater": { 
      "autoUpdate": false 
    } 
  } 
}

アップデートが失敗した場合にどうするか

  • autoUpdate コンテキスト: Live updates product page. 役割: 短いUIラベルまたはナビゲーションアイテム。メッセージキー `live_update_dynamic_label_to` (Live Update Dynamic Label To)。 false 開発中のとき
  • アプリをアンインストールします。
  • Capgoを再インストールして、正しいバージョンを使用してください。
  • すべての問題が解決したら、自動更新を再度有効にします。

メジャーバージョンアップデートの場合、 disableAutoUpdateBreaking フラグを使用して、 majorAvailable イベントをリスンして、正しくアップデートを処理します:

CapacitorUpdater.addListener('majorAvailable', (info) => {
  console.log(`Major update available: ${info.version}`);
  // Add your update prompt logic here
});

これらの設定をチームの良好な実践と組み合わせると、バージョン一貫性を維持し、エラーを減らすことができます。

チームバージョン管理

個々のアップデートが管理されたら、チームは強力なバージョン管理の実践を確立する必要があります。

“Testing each change before merging it with the main repository will reinforce stability and avoid costly errors” [4]

Here are some methods to ensure consistency:

  • メインリポジトリとマージする前に、各変更をテストすることで、安定性を強化し、莫大なコストのエラーを回避できます。 一貫性を確保するための方法は以下のとおりです。 真実の元となるものとして機能する。
  • Capgo の開発環境と生産環境用に別々のチャネルを使用する。
  • CI/CD Pipelines を使用してバージョンのアップロードを自動化する。
  • code の変更を明確で詳細なコミットメッセージでドキュメントする。

大規模なチームの場合、以下のバージョン管理マトリックスが更新を整理するのに役立ちます。

環境 チャネル 自動更新 バージョンパターン
開発 dev 無効 0.x.x
プレリリース ベータ 有効 x.x.x-ベータ
本番 安定 有効 x.x.x

アップデートの復旧手順

十分な注意を払ったとしても、更新が失敗することがあります。 その場合、以下の復旧手順に従ってください。

  1. 前の安定バンドルに戻す
  2. バージョン番号を修正する場合、修正のバージョン番号を増分する (注: 削除されたバージョン番号は再利用できません) [2].
  3. アプリ起動時にアップデートを検証して、期待どおりに動作することを確認します。

Capgoのアップデートツールは、障害を処理するように設計されています。たとえば、サーバーがアクセスできない場合やアップデートが削除された場合、アプリは通常の動作を続行します。 [3]. さらに、失敗したネットワーク要求は、次のアプリ起動時に自動的に再試行されます。 [3]. この組み込みの耐性により、ダウンタイムが最小化され、操作がスムーズになります。

概要

セマンティック バージョニングとCapgoの組み合わせにより、CapacitorアプリのOTAアップデートが効率化されました。947.6百万のアップデートが配信され、1,400の生産アプリがこのシステムを使用しているため、展開プロセスは81%効率化されました。 [1]. この設定により、開発者は迅速かつ制御された方法でアップデートをプッシュできます。アプリストアの遅延を回避できます。 [1]開発者が言っていること

“__CAPGO_KEEP_0__ OTAアップデートをロールアウトしました”

__CAPGO_KEEP_0__はCapgoのアップデートツールです。__CAPGO_KEEP_1__はCapgoのアプリです。 CapgoはCapgoのアップデートツールです。__CAPGO_KEEP_1__はCapgoのアプリです。 +5000のユーザーベースで生産中です。 OTAが@Capgoにデプロイされた後、ほぼすべてのユーザーが数分以内に最新の状態になります。 - colenso [1]

MAJOR.MINOR.PATCHのバージョニングシステムは、破壊的な変更、新機能、バグ修正を簡単に伝えることができます。 [5]Capgoのプラットフォームを通じて、週に何度もリリースを管理するチームにとって、特に役立ちます。

Capgoの 暗号化されたソリューション, CI/CDツールと統合されているため、予算に優しい - 5年間で$26,100を節約する [1]。カスタマイズ可能なチャンネルにより、正しいユーザーに正しい時期に更新が届きます。

“アジャイル開発を実践しており、@Capgoはユーザーに継続的に提供するmission-criticalです!” - Rodrigo Mantica [1]

「How to Use Semantic Versioning with Capgo OTA Updates」を続けてください。

「How to Use Semantic Versioning with __CAPGO_KEEP_0__ OTA Updates」を使用している場合 「How to Use Semantic Versioning with Capgo OTA Updates」を使用してロールバックとバージョン管理を計画し、接続する 「How to Use Semantic Versioning with __CAPGO_KEEP_0__ OTA Updates」を使用してロールバックとバージョン管理を計画し、接続する ロールバック ロールバックの実装詳細について バージョン対象 バージョン対象の実装詳細について 更新動作 更新動作の実装詳細について バンドル バンドルの実装詳細について Capgo ライブアップデート for the product workflow in Capgo Live Updates.

Live updates for Capacitor apps

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

最新のブログ

Capgo gives you the best insights you need to create a truly professional mobile app.