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

CI/CDツールがOTAアップデートをトリガーする方法

CI/CDツールが自動化されたプロセスを使用して、より速く、より安全で、より信頼性の高いアプリケーションのデプロイを実現するOTAアップデートの強化について学びましょう。

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

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

コンテンツマーケター

CI/CDツールがOTAアップデートをトリガーする

CI/CDツールは、過去のエラーを回避し、迅速かつ安全なOTAアップデートを可能にする自動化プロセスを実現します。ここでは、その方法について説明します。

  • OTAアップデートとは何か これにより、HTML、CSS、JavaScriptなどのアプリケーション資産を即時更新できるようになり、ストアの承認待ち時間を回避できます。
  • CI/CDの役割 自動化ツールとして GitHub アクション ビルドチェック、セキュリティ検証、デプロイなどの重要なステップをスムーズに実行し、エラーを72%削減し、即日パッチを可能にします。
  • 主な機能
    • セキュリティ HTTPS、code署名、暗号化を使用してアップデートを保護します。
    • ステージングロールアウト: 小規模ユーザーにアップデートを最初に展開して、問題を早期に発見する。
    • ロールバックオプション: エラー率が上昇した場合に自動的にアップデートを戻す。
  • ツールのハイライト: Capgo CLIコマンド、ウェブホッグ統合、詳細なメトリクス追跡機能を使用して、OTAアップデートを簡素化します。

OTAアップデートを自動化することで、迅速な配布、エラーの減少、そしてアプリの安定性の向上が実現します。以下に、CI/CDパイプラインを使用してアプリを設定するためのステップバイステップの手順があります。 Capacitor Appflow

ライブアップデート:ユーザーに直接アップデートを展開して、即時的なアップデートを実現します。 Deploy updates to small groups first to catch issues early. is translated to "小規模ユーザーにアップデートを最初に展開して、問題を早期に発見する。"

Appflow CI/CD Platform Interface

準備中 Capacitor OTA更新のために

Capacitorフレームワークドキュメントサイト

Capacitorを自動更新用の オーバー・ザ・エア(OTA)更新の設定 オーバー・ザ・エア(OTA)更新の設定には、セットアップの構成、セキュリティの実装、更新システムの統合が含まれます。 このプロセスにより、CI/CDの自動化とアプリのセキュリティの両方を保証します。Capgoの__CAPGO_KEEP_0__.config.jsonファイルでOTA設定を構成する

Capgoのcapacitor.config.jsonファイルでOTA設定を構成する

を始めるには、必要なパラメータを含むファイルを更新してください: capacitor.config.json 適切なチェックの頻度を設定することで、更新の遅延を最小限に抑えることができます - これにより、最大で47%の遅延削減が実現します。

{
  "appId": "com.example.app",
  "appVersion": "2.3.1",
  "plugins": {
    "CapacitorUpdater": {
      "updateUrl": "https://api.example.com/ota",
      "checkFrequency": 3600,
      "channel": "production"
    }
  }
}

OTAアップデートのセキュリティの実装 [2].

OTAアップデートプロセスをセキュアにすることは、不正なアップデートを防止し、アプリの完全性を保護するために不可欠です。このプロセスには、以下の3つの層の保護が含まれます:

セキュリティ層

実装 目的 HTTPSセキュリティ
証明書ピンニング 中間者攻撃を防止します __CAPGO_KEEP_0__署名
Code ed25519署名 更新の有効性を確認します。
パッケージセキュリティ AES-256-GCM暗号化 更新内容を保護します。

これらのセキュリティ機能を適用するには、次の設定を含める必要があります。

{
  "security": {
    "publicKey": "-----BEGIN PUBLIC KEY-----...",
    "requireSignedUpdates": true,
    "validateChecksums": true
  }
}

設定 Capgo OTA更新用

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

CapgoはOTA更新プロセスを簡素化します。最初に必要なプラグインをインストールすることから始めます。

npm install @capgo/capacitor-updater

次に、Capgo-固有の設定をアプリケーションに追加します。 capacitor.config.json ファイル:

{
  "plugins": {
    "CapacitorUpdater": {
      "apiKey": "CAPGO_XXXX",
      "channel": "production",
      "debug": true
    }
  }
}

Capgoはビルド識別子などを含むシーケンスバージョニングを使用して、厳密な更新追跡を実現します。これにより、更新ライフサイクルを管理および監視することが容易になります。 2025.02.12-a1b2c3d OTA更新パイプラインの作成

__CAPGO_KEEP_0__を__CAPGO_KEEP_1__環境に設定した後、次のステップはCI/CDツールと連携することです。自動更新を実現し、セキュリティと効率性を確保しながら、アプリの安定性を維持することができます。

Once you’ve set up Capgo in your Capacitor environment, the next step is linking it with CI/CD tools to automate update delivery. This ensures updates are handled securely and efficiently while keeping your app stable.

CI/CD設定内でWebhookを使用すると、__CAPGO_KEEP_0__の変更が発生した場合に自動的に更新をトリガーできます。たとえば、__CAPGO_KEEP_1__ Actionsで、次のようなワークフローファイルを作成できます。

Webhooks in your CI/CD setup can automatically trigger updates whenever code changes occur. For example, in GitHub Actions, you can create a workflow file like this:

name: OTA Update Trigger
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Trigger OTA Update
        run: |
          curl -X POST \
          -H "X-Capgo-Signature: sha256=${{ secrets.CAPGO_SECRET }}" \
          -H "Authorization: Bearer ${{ secrets.CAPGO_API_KEY }}" \
          https://api.capgo.app/deploy

API __CAPGO_KEEP_1__の更新コマンド __CAPGO_KEEP_0__ __CAPGO_KEEP_1__は、パイプライン内で更新管理を簡素化するための重要なコマンドを提供しています。次に、通常のデプロイワークフローを示します。 __CAPGO_KEEP_0__

Capgo CLI Update Commands

The Capgo CLI offers key commands to streamline update management within your pipeline. Here’s an example of a typical deployment workflow:

ステージ __CAPGO_KEEP_0__ 目的
ビルド capgo deploy --channel production 新しいビルドアーティファクトをアップロード
テスト capgo promote build-123 --group beta テストグループにアップデートをリリース
検証 capgo metrics get --last-24h アップデートの成功メトリクスを確認
リリース capgo promote build-123 --channel stable すべてのユーザーにアップデートを展開

アップデートロールバック方法

アプリの安定性を維持するには、信頼性の高いロールバックメカニズムが不可欠です。システムは、問題を検出して自動的に更新を元に戻すことができるようになります。例えば、エラー率を監視するためのヘルスチェックエンドポイントを使用して、必要に応じてロールバックをトリガーすることができます。

# Rollback script triggered by monitoring
if [ $(curl -s https://api.capgo.app/metrics/errors) -gt 5 ]; then
  capgo rollback v1.2 --channel production
  notify-team "Update rolled back due to high error rate"
fi

このアプローチは成功しました Gunnebo Safe Storage 時間から分にダウンタイムを短縮しました [6].

リスクの高い更新では、Capgoのステージドロールアウト機能を使用することを検討してください。更新を小規模なユーザーグループにデプロイすることで、広範囲にわたる問題のリスクを軽減し、フルリリースまでの準備が整うことができます。

sbb-itb-f9944d2

OTA Update Methods

ステージドアップデートとユーザーグループ

ステージドアップデートは、更新がユーザーに平穏な経験を提供するように制御することができます。例えば、Capgoの promote コマンド(前述のもの)を使用して、ベータグループを管理することができます。企業データによると、ほぼ半分のアプリ(49%)が毎月の更新が必要であることがわかっています。 [4]ステージドデプロイは、徐々に変更を実施しながらアプリを安定させるための重要な戦略になります。

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__ __CAPGO_KEEP_0__

__CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__

CI/CDパイプラインにこれらのチェックを統合して、平滑な監視を実現できます。ここでは例を示します。

if [ $(curl -s $MONITORING_API/crash-rate) -gt 2 ]; then
  capgo pause-rollout --channel production
  notify-team "Update paused: High crash rate detected"
fi

これらのメトリックは直接パフォーマンストラッキングシステムに結びついており、次のセクションで詳しく説明します。

速い応答の更新

重大なセキュリティ問題や大きなバグに直面した場合、迅速な更新のデプロイ方法が必要です。緊急事態用に設計された高速なデプロイチャネルを使用してください。これらのチャネルには、デバイスの確認チェックとリスクを最小限に抑える自動ロールバックオプションが含まれます。

緊急の更新をデプロイするには、専用のチャネルを使用できます。

capgo deploy --critical --channel hotfix

緊急の更新をさらに高速化し、法的基準を満たすには、CDNルールと地理ベースのチャネルを考慮してください。これにより、ユーザーに更新が効率的に到達し、場所に関係なく更新が効率的に配信されます。

更新パフォーマンスのトラッキング

更新配信方法を実装した後、どれだけ効果的に機能しているかを測定する時が来ます。次のキーペフォーマンス指標を使用して、状況を把握してください。

更新成功のメトリック

緊急の更新をより効率的に配信し、法的基準を満たすには、緊急の更新を配信するための専用のチャネルを使用してください。 緊急の更新を配信するには、緊急の更新を配信するための専用のチャネルを使用してください。, 緊急の更新を配信するには、緊急の更新を配信するための専用のチャネルを使用してください。ユーザー採用モバイルアプリケーションでは、展開成功率は通常95%から99%の範囲内 [1]CI/CDパイプラインを通じてリアルタイムモニタリングを行うことで、目標を達成することができます:

指標 目標 重要閾値
展開完了 >98% <95%
検証時間 <45s &gt;120s
ユーザー採用率 (24 時間) &gt;75% &lt;50%

更新エラー管理

自動システムは、更新のステータスを追跡し、エラーに応じて自動的に更新をロールバックすることができます。デバイスの健康チェックで問題が検出された場合、主な問題に対処する必要があります。このような実装の例を以下に示します。

if [ $DEVICE_SUCCESS_RATE -lt 85 ]; then
    trigger_rollback
fi

このような設定により、重要な障害が迅速に対処され、ユーザーへの影響が最小限に抑えられます。

データ使用量削減

デルタ更新は、フル更新と比較して、パイロットサイズを 70–90% まで削減するのに役立ちます。 [4]これらの最適化は、CI/CD パイプラインにルールを組み込むことで、直接実装できます。

  • デルタ更新: 変更したコンポーネントのみを含むバイナリ diff を作成します。
  • 資産最適化: 画像をWebPやAVIFなどの形式に変換してファイルサイズを削減します。
  • スケジュールされたオフピークデプロイ: ネットワークトラフィックが低い時間帯にアップデートをロールアウトして影響を最小限に抑えます。

自動化されたOTAアップデートの結論

: CI/CDパイプラインに自動化されたOTAアップデートを組み込むことで、Capacitor デプロイは週に1回のサイクルから1時間ごとのアップデートに移行できます。 JFrog はこの効率性の向上を強調しています。彼らは、__CAPGO_KEEP_0__ アプリの 85%高速なデプロイ率 for Capacitor apps [3] 95%の採用率 を指摘しています。 安定したネットワーク [5]. この結果は、手動のステップを削減し、更新プロセスを簡素化することで得られたものです。

開発チームにとって、このアプローチは明確な利点を提供します。 ESP-IDF ユーザー 73%のチーム は、プレマージ CI チェックを使用しています [1][2]これにより、生産前に高品質のリリースが可能になります。これらの取り組みは、データ駆動型のデプロイ戦略に関する前回の議論と一致しています。

Automated pipelines also ensure updates are delivered reliably using compressed formats and delta updates. By combining automated testing, phased rollouts, and performance tracking, teams can manage Capacitor app updates with both efficiency and security.

自動テスト、フェーズドロールアウト、パフォーマンス追跡を組み合わせることで、チームは効率とセキュリティの両方で __CAPGO_KEEP_0__ アプリの更新を管理できます。

CI/CD ツールがOTA更新をトリガーする方法については、次の記事を参照してください。 Capgoを使用している場合 セキュリティとコンプライアンスの計画に役立つため、 暗号化 __CAPGO_KEEP_0__ セキュリティ スキャナの実装詳細 コンプライアンス __CAPGO_KEEP_0__ セキュリティ スキャナの製品ワークフロー Capgo セキュリティ Capgo セキュリティの製品ワークフロー Capgo トラスト センター Capgo トラスト センターの製品ワークフロー Capgo Trust Center for the product workflow in Capgo Trust Center.

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

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

スタートする

ブログの最新記事

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