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

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

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

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

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

コンテンツマーケター

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

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

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

    • MAJOR: 重大な変更
    • MINOR: バックグラウンド互換性のある新機能
    • PATCH: バグ修正用。
  • なぜ Capgo に SemVer を使用する必要があるのですか?

    • __CAPGO_KEEP_0__ の更新情報について明確なコミュニケーションをとること。
    • __CAPGO_KEEP_0__ のバージョン管理をよりスマートにすること。
    • 依存関係の競合を避けること。
    • リリース計画を整理すること。
  • Capgo のセットアップ ステップ:

    1. Capgo のアップデート プラグインをインストールする。
    2. __CAPGO_KEEP_0__ のアプリのバージョンを capacitor.config.json ファイルなどで設定する。
    3. あなたのAPIキーで初期化してください。
    4. 使用 Capgo CLI を使用してバンドルおよびアップロードしてください。
  • バージョンとチャンネルの管理:

    • 別々のチャンネル(例:「ベータ」テスト、 「プロダクション」安定版)を使用してください。
    • 更新ポリシーを制御(パッチの自動更新、主な変更の手動承認)
    • 失敗した更新のロールバックオプション
  • デプロイメントプロセス:

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

Capgo は迅速かつ信頼性の高い更新をユーザーに届けることを保証し、障害や不安定性を管理するためのツールを提供します。CI/CD ワークフローを使用して自動更新を実行するチームに適しています。

Quick Tip: 常に更新をテストし、ステージド ロールアウトを効果的に管理するためのチャネルを使用しましょう。

セマンティック バージョニング | レベル アップ

Capgo セットアップ ガイド

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

ここでは、OTA更新とバージョン管理を容易に管理するためにCapgoをセットアップする方法を紹介します。

初期セットアップ手順

最初に、 Capgo アップデート プラグインをインストールしてください:

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 __CAPGO_KEEP_0__のバージョン情報を更新する version __CAPGO_KEEP_0__のバージョン情報を更新する
  • android/app/build.gradle 設定が完了したら、__CAPGO_KEEP_1__キーとともに__CAPGO_KEEP_0__を初期化してください 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の設定を確認してください
インストールプラグインをインストールし、同期確認 package.json
設定__CAPGO_KEEP_0__ のバージョン番号を設定すべてのファイルで確認
初期化API キーと接続接続状態をテスト
ビルド初期バンドルを作成アップロード成功を確認

バージョン管理統合

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

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

{ 
  "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

サポートされているCI/CDプラットフォーム

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

このセットアップにより、OTAのスムーズな展開とバージョン管理が可能になります。

Capgo を使用してセマンティック バージョニング

バージョン番号管理

Capgo はセマンティック バージョニング (SemVer) を使用してアプリのバージョンを管理し、次の形式でフォーマットされます。 メジャー.マイナー.パッチ ここではどのように機能するかを説明します。

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

バージョン管理の規則に従うことで、デプロイメントチャンネルの間で滑らかなアップデートを保証し、バージョン管理を簡素化できます。

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

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__.preリリース識別子を使用して、明確なロールバックオプションを維持します。このアプローチでは、問題が発生した場合に前のバージョンに戻ることができ、すべてのチャネルでバージョニングを一貫して維持できます。

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

sbb-itb-f9944d2

OTA更新のデプロイ

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

更新準備

まず、__CAPGO_KEEP_0__.config.json package.json capacitor.config.jsonバグ修正

  • Update Preparation: __CAPGO_KEEP_0__をPATCH番号に増やす (例: 1.0.1 → 1.0.2)
  • 新機能: __CAPGO_KEEP_0__をMINOR番号に増やす (例: 1.0.0 → 1.1.0)
  • 重大な変更: __CAPGO_KEEP_0__をMAJOR番号に増やす (例: 1.0.0 → 2.0.0)

アプリを完全にテストし、サーバーと正常に通信していることを確認する notifyAppReady.

次に、 アップデート戦略を決定する. 以下の選択肢があります:

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

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

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 [channelId] [appId]

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

“Capgo は、@AppFlow と同じ金額を払うことなく、@Capgo を使用してホット code プッシュを実行する賢い方法です 🙂”

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

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

企業向けの展開では、CI/CDの自動化を統合したい場合があります。

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

Problem Solving and Tips

Version Management Issues

Managing semantic versioning in Capgo can sometimes complicate update deployments. To avoid overwriting your development work, configure the following in your capacitor.config.json file:

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

If an update fails, here’s what you can do:

  • Set autoUpdate to false during development.
  • Uninstall the app.
  • Reinstall it with the corrected version.
  • 安定した後、自動更新を再度有効にします。

メジャーバージョンアップデートの場合、フラグを使用し、更新を適切に処理するためにイベントをリスンします: disableAutoUpdateBreaking バージョンアップデートのイベントを処理するには、 majorAvailable バージョン管理のためのチームの強力な慣行を確立することで、バージョン一貫性を維持し、エラーを減らすことができます。

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

バージョン管理

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

Once individual updates are managed, it’s crucial for teams to establish strong version control practices.

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

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

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

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

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

更新復旧手順

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

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

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

概要

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

開発者が言っていること

“We rolled out CapgoのOTA更新をロールアウトしました。 生産環境でCapgoのユーザーベースに5000人以上を対象にしました。ほぼすべてのユーザーが、@Capgoにアップデートされた後、数分以内に最新バージョンにアップデートされました。 [1]

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

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

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

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

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

今すぐ始めましょう

最新のブログ記事

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