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

Semantic Versioningを使用したCapgoのOTAアップデートの使い方

CapgoのOTAアップデートを使用してSemantic Versioningを使用してCapacitorアプリのアップデートとバージョン管理を簡素化する方法を学びます。

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

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

コンテンツマーケター

Semantic Versioningを使用したCapgoのOTAアップデートの使い方

__CAPGO_KEEP_0__のOTAアップデートを使用して、アプリのアップデートを簡素化したい アップデート バージョン管理については? SemVer (Semantic Versioning) と組み合わせて CapgoCloudflareのCapacitorのOver-The-Air (OTA)更新機能により、 Capacitor アプリの管理が簡単で速くなります。ここではその方法を紹介します。

  • SemVerの基本 バージョンは以下の形式で使用されます MAJOR.MINOR.PATCH:

    • メジャーバージョン: メジャーバージョンでは、
    • マイナーバージョン: For new features that are backward-compatible.
    • PATCH: For bug fixes.
  • Capgoを使用する理由

    • 更新情報について明確なコミュニケーション
    • バージョン管理の知性化
    • 依存関係の競合を回避
    • リリース計画の整理
  • Capgoのセットアップ 手順:

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

    • 失敗した更新のロールバックオプション。
    • デプロイメントプロセス:
    • SemVer ルールに従ってバージョン番号を更新してください。
  • デプロイメント前に徹底的なテストを行ってください。

    • __CAPGO_KEEP_1__
    • __CAPGO_KEEP_0__
    • CLIコマンドを使用してアップデートをアップロードおよび配布してください。

Capgoは、障害や安定性を維持するためのツールを備えた、迅速かつ信頼性の高いアップデートをユーザーに届けることを保証します。CI/CDワークフローを使用して自動アップデートを実行するチーム向けに最適です。

Quick Tip: 常にアップデートをテストし、ステージドロールアウトを効果的に管理するためのチャンネルを使用してください。

Semantic Versioning | Level Up

Capgo セットアップガイド

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

Capgoを使用して、OTAアップデートとバージョン管理を容易に管理する方法についてはこちらをご覧ください。

初期設定手順

最初は__CAPGO_KEEP_0__をインストールしてください。 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 (バージョン情報を)更新してください versionName)
  • ios/App/App.xcodeproj/project.pbxproj __CAPGO_KEEP_0__ を初期化するには、__CAPGO_KEEP_1__ キーを使用してください CURRENT_PROJECT_VERSION)

Once configured, initialize Capgo with your API key:

npx @capgo/cli@latest init YOUR_API_KEY

セットアップ フェーズ

キー アクション キー: __CAPGO_KEEP_1__ アクション: __CAPGO_KEEP_0__ を初期化する 検証ステップ
インストール プラグインのインストールと同期 確認 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();

この設定により、アプリはSmooth OTA デプロイメントとバージョン管理に適しています。

Capgoの使用

バージョン番号管理

Capgoは、バージョン番号をMAJOR.MINOR.PATCH形式で管理するSemVerを使用して、アプリのバージョンを管理します。 バージョン番号の形式は、MAJOR.MINOR.PATCHです。メジャーバージョン(X.0.0)

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

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

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

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

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

    • 例えば:
    • 新機能をテストするために「ベータ」チャンネル(例:1.2.0-beta)を使用します。
    • 安定したリリース用に「プロダクション」チャンネル(例:1.2.0)を維持します。
  • プラットフォーム固有の問題に対処するためにプラットフォーム固有のチャンネル(例:「ios-hotfix」バージョン 1.2.1)を追加します。: Control how updates are applied using Capgo’s configuration options. For instance:

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

    :__CAPGO_KEEP_0__の設定オプションを使用して、更新がどのように適用されるかを制御します。例えば:

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

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

sbb-itb-f9944d2

OTA更新のデプロイ

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

更新準備

まず、 package.jsoncapacitor.config.jsonを更新してください。バージョンは SemVer 形式 (MAJOR.MINOR.PATCH) に従う必要があります。

  • Bug Fixバグ修正
  • New Feature新機能
  • Breaking Change重大変更

Thoroughly test your build and confirm the app communicates with the server using notifyAppReady.

Next, decide on your update strategy. You can choose from:

  • Auto-Update更新戦略を決定する。選択肢は以下のとおりです。
  • Manual Control: Specify exact version requirements for updates.
  • Channel-Based: Use channels for testing and staged rollouts.

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 ensures secure deployment with end-to-end encryption and safe key management.

“@Capgo is a smart way to make hot code pushes (and not for all the money in the world like with @AppFlow) 🙂”

Once deployed, you can monitor updates through Capgo’s dashboard. Updates typically reach users within minutes after they open the app. The process works like this:

  • The app checks for updates.
  • Downloads the update in the background.
  • Marks the new version as active when the user exits the app.
  • 起動時、更新を適用します。

企業向けのデプロイの場合、CI/CDの自動化を統合したいと思われるかもしれません。

“We practice agile development and @Capgo is mission-critical in delivering continuously to our users!”

「開発のアジャイル実践において、@__CAPGO_KEEP_0__はユーザーに継続的に提供するmission-criticalな要素です!」

問題解決とアドバイス

Managing semantic versioning in Capgo can sometimes complicate update deployments. To avoid overwriting your development work, configure the following in your capacitor.config.json __CAPGO_KEEP_0__のシーケンスバージョニングを管理することは、更新のデプロイを複雑にすることがあります。開発作業を上書きしないようにするには、以下の設定をファイルに追加してください。

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

ファイル:

  • 更新が失敗した場合、以下のことができます。 autoUpdate 開発中の場合、 false
  • に設定します。
  • __CAPGO_KEEP_0__を修正されたバージョンで再インストールしてください。
  • __CAPGO_KEEP_0__が安定した後、自動更新を再度有効にします。

メジャーバージョンアップデートの場合、__CAPGO_KEEP_0__フラグを使用し、__CAPGO_KEEP_1__イベントをリスンして正しくアップデートを処理するようにします: disableAutoUpdateBreaking __CAPGO_KEEP_0__とチームの良好な実践を組み合わせると、バージョン一貫性を維持し、エラーを減らすことができます。 majorAvailable チーム バージョン管理

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

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

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

一貫性を確保する方法は次のとおりです。

__CAPGO_KEEP_0__をメイン リポジトリとして定義します。 [4]

__CAPGO_KEEP_0__は、チームのバージョン管理の実践を強化するために不可欠です。

  • __CAPGO_KEEP_0__は、チームのバージョン管理の実践を強化するために不可欠です。 __CAPGO_KEEP_0__は、チームのバージョン管理の実践を強化するために不可欠です。 To act as the source of truth.
  • 開発環境と本番環境のための別々のCapgoチャンネルを使用します。
  • CI/CD Pipelinesを使用してバージョンアップロードを自動化します。
  • 明確で詳細なコミットメッセージですべてのcodeの変更をドキュメントします。

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

環境 チャンネル 自動更新 バージョンパターン
開発 dev 無効 0.x.x
テスト環境 ベータ 有効 x.x.x-beta
本番環境 安定 有効 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のアップデート機能 Capgoのユーザーベース5000人以上で、プロダクションで非常に滑らかな動作を実現しています。ほとんどのユーザーは、@CapgoにデプロイされたOTAの数分以内に最新の状態になります。” - colenso [1]

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

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

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

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

__CAPGO_KEEP_0__のOTAアップデートとセマンティックバージョニングの使い方 How to Use Semantic Versioning with Capgo OTA Updates __CAPGO_KEEP_0__のOTAアップデートとセマンティックバージョニングの使い方 ロールバック ロールバックの実装詳細について バージョン対象 バージョン対象の実装詳細について 更新動作 更新動作の実装詳細について バンドル バンドルの実装詳細について、 Capgo ライブアップデート Capgo ライブアップデートの製品ワークフローについて

Capacitor アプリのリアルタイム更新

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

今すぐ始めましょう

ブログの最新記事

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