メインコンテンツにジャンプ

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

アップデートを簡素化したい アプリケーションアップデート CapgoのSemantic VersioningとOTAアップデート Semantic Versioning (SemVer) CapgoのOTAアップデート CapgoCapgoのOver-The-Air (OTA)アップデート Capacitor CapgoのOTAアップデートがアプリの管理を簡単かつ速くします。ここではその方法を紹介します。

  • Semantic Versioningの基本 バージョンは次の形式を使用します MAJOR.MINOR.PATCH:

    • MAJOR: メジャーバージョンアップ用
    • MINOR: 新機能のバックワード互換性のあるものについて。
    • PATCH: バグ修正について。
  • CapgoのSemVerの使用の理由。

    • __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_KEEP_0__
    • Use CLI commands to upload and distribute updates.

Capgoを使用してアップデートをアップロードおよび配布するには、Capgoコマンドを使用します。

Capgoは、CI/CDワークフローを使用して自動アップデートを実行するチーム向けに、障害を処理し、安定性を維持するためのツールを備えたアップデートがユーザーに迅速かつ信頼性の高い方法で到達するようにすることを保証します。 Quick Tip:

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

Capgo Capgoを使用してアップデートをアップロードおよび配布するには、__CAPGO_KEEP_0__コマンドを使用します。

Capgo Live Update Dashboard Interface

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

Capgoを使用してOTAアップデートとバージョン管理を容易に管理する方法については、以下の手順に従ってください。

初期設定手順 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 (バージョン番号の)
  • android/app/build.gradle フィールド) versionName)
  • ios/App/App.xcodeproj/project.pbxproj (バージョン番号の) CURRENT_PROJECT_VERSION)

Once configured, initialize Capgo with your API key:

npx @capgo/cli@latest init YOUR_API_KEY

設定が完了したら、__CAPGO_KEEP_0__に__CAPGO_KEEP_1__キーを初期化してください:

クイックリファレンス表: 設定フェーズ 検証ステップ
インストール プラグインのインストールと同期 確認 package.json
設定 バージョン番号の設定 すべてのファイルを確認
初期化 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アップデートで使用するバンドルの健康状態を、主ファイルでネイティブプラグインに通知してください:

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番号を増やす。
バージョンタイプ インクリメントするとき 自動更新の動作
メジャー (X.0.0) 破壊的なAPI変更の場合 手動承認が必要
マイナー (1.X.0) 新機能の場合 Capgoで構成可能
パッチ (1.0.X) バグ修正の場合 通常自動

SemVer規則に従うことで、バージョン管理を簡素化し、展開チャネル間で滑らかな更新を保証できます。

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

Capgoは、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.json__CAPGO_KEEP_0__.config.json

  • バグ修正: 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のダッシュボードを使用してアップデートを監視できます。アップデートはユーザーがアプリを開く直後から数分以内にユーザーに到達します。プロセスは次のとおりです。

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

企業向けの展開では、CI/CDの自動化を統合したいと思われるかもしれません。

「Capgoは、継続的にユーザーに提供するmission-criticalなものです。Agile開発を実践しているので、@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 開発中のとき。
  • アプリをアンインストールします。
  • 再インストールして、正しいバージョンを使用してください。
  • すべての安定性が確保されたら、自動更新を再度有効にします。

メジャーバージョンアップデートの場合、次の旗を使用して、更新を適切に処理するためにイベントを待ちます: 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
Staging beta 有効 x.x.x-beta
Production stable 有効 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__ OTAアップデートをロールアウトしました」 「Capgo OTAアップデートをロールアウトしました」 +5000のユーザーベースで生産中です。 OTAが@Capgoにデプロイされた後、ほぼすべてのユーザーが数分以内に最新の状態になります。 - colenso [1]

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

Capgoの 暗号化されたソリューション, CI/CDツールと統合されているため、予算に優しい - 5年間で$26,100を削減 [1]__CAPGO_KEEP_0__は、ユーザーに継続的に提供するmission-criticalなツールです。 - Rodrigo Mantica

「Agile開発を実践しており、@Capgoはmission-criticalなツールです。 - Rodrigo Mantica [1]

「Capgo OTAアップデートのセマンティックバージョニングを使用して、次のステップに進みましょう。

「__CAPGO_KEEP_0__ OTAアップデートのセマンティックバージョニングを使用して、バージョン管理とロールバック計画を行う場合は、__CAPGO_KEEP_0__ OTAアップデートのセマンティックバージョニングを接続してください。 「Capgo OTAアップデートのセマンティックバージョニングを使用して、バージョン管理とロールバック計画を行う場合は、Capgo OTAアップデートのセマンティックバージョニングを接続してください。 「__CAPGO_KEEP_0__ OTAアップデートのセマンティックバージョニングを使用して、バージョン管理とロールバック計画を行う場合は、__CAPGO_KEEP_0__ OTAアップデートのセマンティックバージョニングを接続してください。 ロールバック ロールバックの実装詳細について バージョン対象 バージョン対象の実装詳細について 更新動作 更新動作の実装詳細について バンドル バンドルの実装詳細について Capgo ライブアップデート Capgo ライブアップデートの製品ワークフローについて

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を使用して修正を配信するのではなく、数日間待ってアプリストアの承認を待つのではなく、ユーザーはバックグラウンドでアップデートを受け取り、ネイティブの変更は通常のレビュー経路を通じて配信される。

コンテキスト: Capgoのマーケティングウェブサイト。役割: サポートする説明文またはメタ説明文。見つかった場所: コンポーネント GetStarted.astro。Capgo製品/ブランド名と開発者用語をそのまま保存する。メッセージキー `instant_updates_for_capacitor_apps_description` (Capacitorアプリのリアルタイムアップデートの説明)。

最新のブログ

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。