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

Capgoを使用したセマンティック バージョニングのOTAアップデートの使い方

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

マーティン ドナディュー

マーティン ドナディュー

コンテンツマーケター

Capgoを使用したシームレスバージョニングの方法

__CAPGO_KEEP_0__のOTAアップデートを使用して バージョン管理とアプリのアップデートを簡素化したい シームレスバージョニング(SemVer) __CAPGO_KEEP_0__のOver-The-Air(OTA)アップデートと組み合わせると __CAPGO_KEEP_0__アプリの管理が簡単で速くなります。ここではその方法を紹介します。 Capgo__CAPGO_KEEP_0__ Capacitor __CAPGO_KEEP_0__

  • __CAPGO_KEEP_0__ バージョンは次の形式を使用します。 MAJOR.MINOR.PATCH:

    • MAJOR: 重大な変更の場合。
    • MINOR: バックウエア互換性のある新機能の場合。
    • PATCH: バグ修正の場合。
  • なぜ SemVer を Capgo と共に使用する必要がありますか?

    • 更新の明確なコミュニケーション。
    • より賢明なバージョン管理。
    • 依存関係の競合を回避する。
    • リリース計画の整理。
  • Capgo セットアップ ステップ:

    1. Capgo のアップデート プラグインをインストールする。
    2. アプリのバージョンを capacitor.config.json と他のファイルで設定する。
    3. API キーで初期化する。
    4. __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ を使用してアップデートをバンドルおよびアップロードする。 Capgo CLI 別々のチャンネル (例: テスト用の「ベータ」、安定版の「リリース」) を使用する。
  • アップデートポリシーを制御する (パッチの自動更新、主な変更の手動承認)。:

    • __CAPGO_KEEP_0__ Setup
    • Steps:
    • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__

    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__
    • CLI

Capgo

__CAPGO_KEEP_0__ __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

Capgo __CAPGO_KEEP_0__

Capgo Live Update Dashboard インターフェース

OTA更新とバージョン管理を容易に管理するために、Capgo を設定する方法についてはこちら

初期設定手順

まず、 Capgo アップデート プラグインをインストールする:

npm install @capgo/capacitor-updater  
npx cap sync

ファイルがセマンティック バージョン形式であることを確認する capacitor.config.json 古いプロジェクトの場合、以下の場所でバージョン情報を更新する

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

(バージョン情報のフィールドを探す)

  • package.json (を更新する version (を更新する
  • android/app/build.gradle __CAPGO_KEEP_0__ versionName)
  • ios/App/App.xcodeproj/project.pbxproj __CAPGO_KEEP_0__ CURRENT_PROJECT_VERSION)

設定が完了したら、Capgo をあなたの API キーで初期化してください。

npx @capgo/cli@latest init YOUR_API_KEY

クイック リファレンス テーブル:

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

バージョン管理の統合

CapgoはCI/CDプラットフォームとよく組み合わさり 自動更新 が簡単になります。サポートされているプラットフォームは次のとおりです。

ローカル開発中の場合は、次の設定を追加して自動更新を無効にすることができます。

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

Capgoがローカル変更を上書きしないようにするため、この設定を追加します。セットアップが完了したら、最初のバージョンをアップロードしてください。

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

この設定により、アプリがSmooth OTAデプロイメントとバージョン管理に適した状態になります。

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

__CAPGO_KEEP_0__の使用とバージョン管理

Using Semantic Versioning with Capgo

__CAPGO_KEEP_0__は、バージョン番号を管理するためにセマンティック バージョニング (SemVer) を使用します。形式は次のとおりです。

Capgo uses Semantic Versioning (SemVer) to manage app versions, formatted as メジャーバージョンとは何かメジャーバージョンは、バージョン番号の最初の部分です。

  • メジャーバージョン (X.0.0): __CAPGO_KEEP_0__ の互換性を破る変更の場合、MAJOR の数字を増やす。
  • Minor Version (1.X.0): 新しい機能が互換性を維持する場合、MINOR の数字を増やす。
  • Patch Version (1.0.X): 互換性に影響しないバグ修正の場合、PATCH の数字を増やす。
バージョンタイプインクリメントするとき自動更新の動作
メジャー (X.0.0)互換性を破る API の変更の場合手動承認が必要
マイナー (1.X.0)For new featuresCapgoの設定が可能です
Patch (1.0.X)For bug fixes通常自動

バージョン管理を簡素化し、更新がスムーズに進むようにするため、SemVerルールに従うことで、デプロイチャネル全体で更新を実施できます。

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

Capgoを使用すると、ワークフローの異なる段階ごとに異なるチャンネルを設定することで、デプロイメントを効果的に管理できます。

  • チャネルベースのバージョン管理: デプロイメントプロセスを整理するために、テストとプロダクションのための別々のチャンネルを作成してください。

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

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

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

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

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

sbb-itb-f9944d2

OTA更新の展開

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

更新準備

バージョンを更新することから始めましょう。 パッケージ.jsoncapacitor.config.jsonバージョンは SemVer 形式 (メジャー.マイナー.パッチ) に従うことを確認してください。

  • バグ修正: パッチ番号を増やす (例: 1.0.1 → 1.0.2)
  • 新機能: マイナーバージョン番号を増やす (例: 1.0.0 → 1.1.0)
  • 重大な変更: メジャーバージョン番号を増やす (例: 1.0.0 → 2.0.0)

アプリがサーバーと通信することを確認するために、ビルドを徹底的にテストしてください。 notifyAppReady.

次に、 アップデート戦略. 以下のいずれかを選択できます:

  • Auto-Update: 最小バージョン要件を自動的に適用します。
  • Manual Control: 更新の精確なバージョン要件を指定します。
  • Channel-Based: チャンネルを使用してテストとステージングのロールアウトを実行します。

Capgo CLI のアップデートコマンド

Capgo を使用して、CLI を簡単にデプロイできます。以下の方法をご覧ください。

# 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 と同じ金額を払うことなく、@Capgo を使用してホット code プッシュを実行する賢い方法です 🙂”

Capgoのダッシュボードを通じて、配布後はアップデートの状況を監視できます。ユーザーがアプリを開く直後から、通常数分以内にアップデートがユーザーに届きます。プロセスは以下のとおりです:

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

エンタープライズ向けのデプロイでは、CI/CDの自動化を統合したい場合があります。

「アジャイル開発を実践しており、@Capgoは、ユーザーに継続的に提供するmission-criticalなツールです!」

問題解決とヒント

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

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

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

アップデートが失敗した場合、以下のことができます:

  • 設定 autoUpdate __CAPGO_KEEP_0__ false 開発中のときに設定
  • アプリをアンインストール
  • 正しいバージョンで再インストール
  • すべてが安定したら、自動更新を再度有効化

メジャーバージョンアップデートの場合、 disableAutoUpdateBreaking フラグを使用し、 majorAvailable イベントをリスンして、更新を適切に処理する

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

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

チーム版バージョン管理

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

“メイン リポジトリとマージする前に各変更をテストすることで、安定性を強化し、費用のかかるエラーを回避することができます” [4]

以下は一貫性を確保するための方法です

  • 一つのブランチをメイン リポジトリとして定義し、真実の源として機能させます 開発環境と運用環境のために別々の__CAPGO_KEEP_0__チャンネルを使用します CI/CD Pipelinesを使用してバージョンアップロードを自動化します
  • 明確で詳細なコミット メッセージで全てのCapgo変更をドキュメント化します
  • 大規模なチームの場合、以下のバージョン管理マトリックスは更新を整理するのに役立ちます
  • Document all code changes with clear and detailed commit messages.

チャンネル

オートアップデートEnvironmentChannelバージョン パターン
開発dev無効0.x.x
ステージングbeta有効x.x.x-beta
本番stable有効x.x.x

アップデートの復旧手順

予防措置をとっても、更新が失敗することがあります。 その場合、以下の復旧手順に従ってください。

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

Capgoのアップデートツールは、障害を処理するように設計されています。 例えば、サーバーがアクセスできない場合や、更新が削除された場合、アプリは通常の動作を続けます。 [3] また、失敗したネットワークリクエストは、次のアプリ起動時に自動的に再試行されます。 [3] これにより、ダウンタイムが最小限に抑えられ、スムーズな運用が可能になります。

概要

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

開発者が言っていること:

“私たちは、@__CAPGO_KEEP_0__で +5000 のユーザーベースに対して、プロダクションで「__CAPGO_KEEP_0__ OTA更新」をロールアウトしました。私たちは、非常に滑らかな動作を実現し、@__CAPGO_KEEP_0__にデプロイされたOTAが実行された後、ほぼすべてのユーザーが数分以内に最新の状態になりました。” - colenso Capgo OTA updates 特に、Capgoのプラットフォームを通じて毎週複数のリリースを管理するチームにとっては、非常に役立ちます。 [1]

__CAPGO_KEEP_0__の [5]. This is especially helpful for teams managing several releases each week through Capgo’s platform.

Capgo’s . カスタマイズ可能なチャネルにより、更新は正しいユーザーに正しい時期に到達します。“私たちはアジャイル開発を実践し、@__CAPGO_KEEP_0__はユーザーに継続的に提供するmission-criticalなツールです!” - Rodrigo Mantica [1]__CAPGO_KEEP_0__の

Capgoの [1]

CapgoのセマンティックバージョニングとOTAアップデートの使い方から続けて

__CAPGO_KEEP_0__を使用している場合 セマンティックバージョニングとCapgoのOTAアップデートの使い方 ロールバックとバージョン管理の計画を行うには、__CAPGO_KEEP_0__を ロールバック ロールバックの実装詳細について バージョン目標 バージョン目標の実装詳細について アップデートの動作 アップデートの動作の実装詳細について バンドル バンドルの実装詳細について Capgo Live Updates Capgo Live Updatesの製品ワークフロー向け

リアルタイムの更新をCapacitorアプリに提供

ウェブ層のバグが生じた場合、Capgoを通じて修正を配信し、アプリストアの承認待ちの日数を省きます。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通じます。

Get Started Now

Latest from our Blog

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