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

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

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) セマンティック バージョニング (SemVer) と __CAPGO_KEEP_0__ Capgo__CAPGO_KEEP_0__ Capacitor アプリのバージョン管理を簡素化する

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

    • MAJOR: 重大変更の場合。
    • MINOR: バックウエアード互換性のある新機能の場合。
    • PATCH: バグ修正の場合。
  • SemVerをCapgoと組み合わせる理由は何ですか?

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

    1. Install Capgo’s updater plugin.
    2. アプリのバージョンを capacitor.config.json などのファイルに設定します。
    3. Capgoを初期化するには、APIキーを使用してください。
    4. Use Capgo CLI バージョンとチャンネルの管理
  • 別々のチャンネルを使用します (例:「ベータ」はテスト用、「プロダクション」は安定版のリリース用)。:

    • 更新ポリシーを制御します (パッチの自動更新、メジャーチェンジの手動承認)。
    • 失敗した更新のロールバックオプション
    • Capgoの機能を利用してアップデートをバンドルアップロードします。
  • デプロイメント プロセス:

    • SemVer規則に従ってバージョン番号を更新する。
    • テストを徹底的に行う前に、デプロイする。
    • CLIコマンドを使用してアップロードおよび配布する。

Capgoは、CI/CDワークフローを使用して自動化されたアップデートを実行するチーム向けに、迅速かつ信頼性の高い更新をユーザーに届けるのに役立ちます。また、障害や安定性を維持するためのツールも備えています。

クイックアドバイス: 常にアップデートをテストし、チャネルを使用してステージドロールアウトを効果的に管理する。

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

Capgo Capgoへのプルリクエストを提出する

Capgo Live Update ダッシュボード インターフェース

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

初期設定手順

まず、 Capgoアップデートプラグイン:

npm install @capgo/capacitor-updater  
npx cap sync

__CAPGO_KEEP_0__のインストールが完了したら、 capacitor.config.json ファイルがシーケンスバージョン形式を使用していることを確認してください:

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

古いプロジェクトの場合、以下の場所でバージョン情報を更新してください:

  • package.json (バージョン番号の) version (バージョン番号を)
  • android/app/build.gradle (update versionName)
  • ios/App/App.xcodeproj/project.pbxproj (update CURRENT_PROJECT_VERSION)

Capgoを初期化するには、Capgoを設定した後、Capgoを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

最後に、バンドルの健康状態をアプリのメインファイルでネイティブプラグインに通知してください。

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

このセットアップにより、アプリがOTAのスムーズなデプロイメントとバージョン管理に適しています。

Using Semantic Versioning with Capgo

バージョン番号管理

Capgoはセマンティックバージョニング(SemVer)を使用してアプリのバージョンを管理し、以下の形式でフォーマットします。 メジャーバージョン番号.マイナーバージョン番号.パッチ番号以下のようになります。

  • メジャーバージョン番号(X.0.0):互換性のない変更を行った場合にメジャー番号を増加します。
  • バージョンタイプバージョンアップのタイミング
  • 自動更新の動作メジャーバージョン (X.0.0)
重大な__CAPGO_KEEP_0__変更の場合 手動承認が必要 マイナーバージョン (1.X.0)
新機能の場合 For breaking API changes バグ修正の場合
影響を受けない バグ修正 Capgoで設定可能
パッチ (1.0.X) バグ修正用 通常自動

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

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

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

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

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

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

    この設定では、ユーザーは自動的にパッチアップデートを受け取りますが、マイナーやメジャーアップデートは手動で承認する必要があります。

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

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

sbb-itb-f9944d2

OTAアップデートの展開

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

アップデート準備

まず、 パッケージ.json と capacitor.config.jsonセマンティックバージョニングのフォーマット (メジャーバージョン.マイナーバージョン.パッチバージョン) に従ってください。

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

アプリを徹底的にテストし、サーバーと正常に通信していることを確認します。 notifyAppReady.

次に、更新戦略を決定します アップデート戦略. Capgoから選択できます:

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

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

Capgoを使用してOTAアップデートを実行するには、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 と比較して、すべての金銭的価値を費やさずに、ホット code プッシュ (😊) を実行する賢い方法です」

デプロイ後は、Capgo のダッシュボードを使用して、更新を監視できます。通常、ユーザーがアプリを開く直後、更新は数分以内に到着します。プロセスは次のとおりです:

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

エンタープライズ向けのデプロイメントでは、CI/CDの自動化を統合したいと思います。

「私たちはAgile開発を実践しており、@Capgoはユーザーに継続的に提供するmission-criticalなものです!」

問題解決とアドバイス

バージョン管理の問題

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

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

アップデートが失敗した場合に何ができるかはこちらです。

  • 設定します。 autoUpdate ~ false 開発中
  • アプリをアンインストールしてください。
  • 正しいバージョンで再インストールしてください。
  • 安定した状態で再び自動更新を有効にするとよいでしょう。

Capgoのメジャーバージョンアップデートの場合、Live Updateを使用してください。 disableAutoUpdateBreaking バージョン管理の統一とエラーの削減を実現するには、以下の設定とチームの良好な実践を組み合わせることができます。 majorAvailable チームバージョン管理

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

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

「メインのリポジトリとマージする前に各変更をテストすることで、安定性を強化し、莫大なコストのエラーを回避することができます」

~

~ [4]

CapgoのOTAアップデートでセマンティックバージョニングを使用する方法

  • 一貫性を確保するための方法は以下のとおりです 主なリポジトリ 真実の源となるリポジトリとして機能する
  • 開発環境と生産環境用に別々のCapgoチャンネルを使用する
  • CI/CD Pipelinesを使用してバージョンアップロードを自動化する
  • 明確で詳細なコミットメッセージですべてのcode変更をドキュメントする

大規模チームの場合、以下のバージョン管理マトリックスがアップデートを組織化するのに役立ちます

環境 チャンネル 自動アップデート バージョンパターン
開発 dev 無効 0.x.x
ステージング ベータ 有効 x.x.x-ベータ
本番 安定 有効 x.x.x

アップデートの復旧手順

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

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

Capgo’s updater is designed to handle disruptions. For example, if the server is unreachable or an update is deleted, the app continues to function normally [3]また、失敗したネットワークリクエストは、次のアプリ起動時に自動的に再試行されます。 [3]この組み込みの強度は、ダウンタイムを最小限に抑え、スムーズな運用を保証します。

概要

Semantic Versioning, combined with Capgo, has made OTA updates for Capacitor apps more efficient. With 947.6 million updates delivered and 1,400 production apps using this system [1]、デプロイプロセスは81%効率化されました。 [1]この設定により、開発者は迅速かつ制御された方法で更新をプッシュできます。 アプリストアの遅延を回避できます。

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

「Capgo OTAアップデートを使用するためのシーケンスバージョニングの方法」 Capgo OTAアップデート in production for our user base of +5000. We’re seeing very smooth operation almost all our users are upto date within minutes of the OTA being deployed to @Capgo.” - colenso [1]

メジャー.マイナー.パッチのバージョニングシステムは、重要な変更、新機能、バグ修正を簡単に伝えることができます。 [5]. This is especially helpful for teams managing several releases each week through Capgo’s platform.

Capgo’s 暗号化されたソリューションCI/CDツールと統合することで、コストも抑えられる - 5年間で約26,100ドル削減 [1]アップデートは、カスタマイズ可能なチャンネルを通じて、正しいユーザーに正しいタイミングで到達します。

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

Keep going from How to Use Semantic Versioning with Capgo OTA Updates

Capgoを使用している場合 CapgoのCapgo OTAアップデートを使用したセマンティックバージョニングの使い方 __CAPGO_KEEP_0__ OTAアップデートと連携してロールバックとバージョン管理を計画するには ロールバック ロールバックの実装詳細 バージョン目標設定 ロールバックの実装詳細 アップデートの動作 アップデートの動作の実装詳細 バンドル バンドルの実装詳細 CapgoのCapgo Live Updates 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は、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。