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

Capacitor

iOSおよびAndroidアプリのリリースをスムーズにするCI/CDパイプラインの設定方法を学びましょう。

Capacitor

iOSおよびAndroidアプリのリリースを早く、エラーを少なくしたいですか? CI/CDパイプライン Capacitor アプリのビルド、テスト、デプロイを自動化して、リリース時間を最大70%短縮し、エラーを60%削減します。このガイドでは、環境の設定からライブアップデートを自動化するまで、すべての必要な情報をカバーします。 Capgo.

重要なポイント:

  • CI/CDの重要性 Capacitorアプリ: 78%のビルド時間短縮と60%のストアの却下削減
  • 必須ツール: Xcode, Android Studio, CocoaPods, さらに
  • パイプラインの設定: タスクの自動化、依存関係のキャッシュ、プラットフォーム固有のビルド npx cap syncLive Update with __CAPGO_KEEP_0__
  • ライブアップデートとCapgoリリース後のアップデートを有効化するには、フェーズドロールアウトとロールバックの安全対策を使用します。

クイックセットアップステップ:

  1. 環境を準備するiOSとAndroidのために必要なツールをインストールする
  2. プロジェクトを設定する: Update capacitor.config.ts アップデート
  3. 環境変数を安全に管理するビルドパイプライン
  4. 依存関係のインストール、ビルド、テストを両方のプラットフォームで自動化するパフォーマンスを最適化する
  5. キャッシュ、並列ビルド、条件付きワークフローを使用する: Capgo を安全かつ OTA の更新に使用するために統合する。

Capacitor アプリは CI/CD を使用すると、エラーと手動介入を最小限に抑えながら、より速く、滑らかなリリースを実現します。ワークフローを最適化する準備はできましたか?ここで始めましょう!

既存の CI/CD Pipelines にモバイル機能を統合する

CI/CD 環境の準備

CI/CD の基本を理解したら、次のステップは環境の設定です。これは、信頼できる自動化の基盤です。

ツールとソフトウェアの設定

次の重要なツールがインストールされていることを確認してください:

iOS 開発用:

  • Xcode 14 または新しいバージョン
  • Xcode Command Line Tools
  • CocoaPods CapacitorアプリのためのCI/CDの設定

Android開発用:

  • Android Studio
  • Android SDK 33以上
  • Java Development Kit (JDK)

Xcode Command Line Toolsがインストールされていることを確認するには、次のコマンドを実行してください。

xcode-select -p

Capacitor Capacitor プロジェクト

Capacitor Framework Documentation Website

Your Capacitor project needs to be configured correctly for CI/CD workflows. The capacitor.config.ts この設定の中心となるファイルは

const config: CapacitorConfig = {
  appId: 'com.example.app',
  webDir: 'build',
  ios: { 
    scheme: 'MyApp'
  }
}

このファイルは、プロジェクトがCI/CD要件に準拠していることを確認します。

環境設定の設定

環境設定とCI/CDパイプラインのリンクに伴う、安全なクレデンシャル管理は重要な要素です。

定義する必要があるキーの変数:

  • BUILD_ENV: デプロイメントステージを指定します (例えば、 production)
  • IOS_SIGNING_IDENTITY: code署名証明書
  • ANDROID_KEYSTORE_PATH: Androidキーストアへのパス

Androidビルドの場合、CIプロセス中に動的に生成される local.properties ファイル:

echo "sdk.dir=$ANDROID_SDK_ROOT" > android/local.properties

iOSビルドの場合、CIプラットフォームがmacOSエージェントをサポートしていることを確認します。

環境が準備されているかどうかを確認するには:

node --version | grep "v16" && xcodebuild -version | grep "Xcode 14" || exit 1

キーとクレデンシャルを適切に管理することで、再提出の可能性が大幅に低減されます。 [1].

CI/CDパイプラインの作成

環境が整ったら、CapacitorアプリのCI/CDパイプラインを設定する必要があります。 Capacitorアプリこのパイプラインは、Web アセットとネイティブ プラットフォーム ビルドを効率的に管理する必要があります。

。このパイプラインは、Webアセットとネイティブプラットフォームのビルドを効率的に管理する必要があります。

依存関係のインストールと更新

npm install --ignore-scripts
npm install @capacitor/cli

CI/CD環境では、依存関係の管理には厳格なバージョン管理が必要です。最初は、クリーンなインストールプロセスから始めましょう: 依存関係キャッシュを使用してビルドを高速化するには 例えば、Azure DevOps

- task: Cache@2
  inputs:
    key: 'npm | "$(Agent.OS)" | package-lock.json'
    path: |
      node_modules
      android/.gradle
      ios/Pods

ユーザーはこの設定でビルド時間が40-60%短縮されたと報告しています:

iOSとAndroidのビルド設定

両方のプラットフォームのビルド設定方法を紹介します。

steps:
  - task: InstallAppleCertificate@2
    inputs:
      certSecureFile: 'certificate.p12'
      certPwd: $(P12_PASSWORD)
  - script: |
      xcodebuild -workspace ios/App/App.xcworkspace -scheme App -configuration Release -archivePath ios/App/App.xcarchive archive

Android ビルド設定:

cd android
./gradlew bundleRelease

テストとデプロイのステップ

プラットフォームテストをマトリックス戦略を使用して並列実行します:

test:
  steps:
    - run: npm run test:unit
    - run: npm run test:e2e
    - name: Run Platform Tests
      matrix:
        platform: [ios, android]
      run: npm run test:${{ matrix.platform }}

デプロイの場合、プラットフォーム固有のアーティファクトハンドリングを設定します:

プラットフォーム アーティファクトタイプ 配信チャネル
iOS .ipa App Store Connect
Android .aab Google Play Console

並列ビルドを使用すると、正しく設定されている場合、パイプライン実行時間が大幅に短縮されることがあります。

ビルドが検証されパッケージ化されたら、Capgo (次のセクションで説明) を使用してライブアップデートに進む準備が整いました。

sbb-itb-f9944d2

追加 Capgo ライブアップデート用

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

CapacitorアプリのCI/CDプロセスを強化するには、Capgoを導入します。

Capgo パイプライン設定

最初に、Capgoをインストールする必要があります。 Capgo CLI パイプライン環境内で:

steps:
  - name: Install Capgo CLI
    run: npm install -g @capgo/cli
  - name: Configure Authentication
    env:
      CAPGO_KEY: ${{ secrets.CAPGO_API_KEY }}

この追加により、CI/CD ライフサイクルが拡張され、自動ビルドとデプロイプロセスにアップデート管理が組み込まれます。 アップデート管理 次に、ビルドステップの後にアップロードコマンドを含めます:

次に、ビルドステップの後にアップロードコマンドを含めます。

- name: Upload Update
  run: |
    capgo upload --api-key $CAPGO_KEY --bundle ./build/app-release.apk
    capgo deploy v${VERSION} --channel production

For __CAPGO_KEEP_0__機能の概要機能

{
  "verification": {
    "checksum": "strict",
    "certificatePinning": true,
    "updateTimeout": 500
  }
}

Capgo Capgo機能の概要

端末間の暗号化 Description
secure updates Deployment エラーを大幅に削減します。
チャネルベースのデプロイ 環境に合わせたアップデートをカスタマイズします。
フェーズドロールアウト アップデートを段階的に配布します。

OTA アップデート ガイドライン

デプロイ後のテストプロセスを強化するために、次の重要なメトリクスを追跡してください:

フェーズド デプロイ ストラテジー

アップデートを段階的に配布して、更新の配布を制御します。

- name: Staged Rollout
  run: |
    capgo deploy v1.2.3 --group "beta-users" --rollout 10%
    capgo deploy v1.2.3 --rollout 50%

アップデートの監視

次のメトリクスを監視してください:

  • 採用率: 24 時間以内に 40-60% を達成することを目指す。
  • クラッシュフリー セッション: 99.5% を超える。
  • 検証時間: 500ms 未満であることを確認する。

クラッシュ率が許容範囲を超えている場合、ロールバックを自動化する:

- name: Rollback Check
  run: |
    if [ $(capgo stats --version v1.2.3 --metric crashes) -gt 2 ]; then
      capgo rollback --channel production
    fi

パイプラインのパフォーマンス向上

パイプラインのパフォーマンスを大幅に向上させるには、3 つの重要な領域に焦点を当てることができます。

ビルド速度の最適化

ウェブのみの変更の場合、 npx cap sync を使用すると、フルネイティブ リビルドをスキップできるため、時間を節約できます。また、リビルド時間を約 40% 減らすこともできます。この方法を実装するには、次の手順を実行します。

- name: Build Strategy
  run: |
    [ "$WEB_ONLY" = true ] && npx cap sync || (./gradlew assembleRelease && xcodebuild ...)

このアプローチにより、必要なコンポーネントのみが再構築されるため、プロセスがスムーズになります。

バージョン管理の自動化

バージョン管理の自動化は、ワークフローを簡素化できます。次のスクリプトを使用して、バージョンとビルド番号を動的に設定できます。

- name: Set Version
  run: |
    VERSION=$(node -p "require('./package.json').version")
    BUILD_NUMBER=$GITHUB_RUN_NUMBER
    echo "APP_VERSION=${VERSION}" >> $GITHUB_ENV
    echo "BUILD_ID=${BUILD_NUMBER}" >> $GITHUB_ENV

この構成を使用して、自動化されたシナリオベースのバージョニングも設定できます。

{
  "scripts": {
    "version": "standard-version",
    "build:prod": "npm version patch && ionic build --prod"
  }
}

これらの慣行は、パイプラインのパフォーマンスを追跡し改善するためのメトリクスである

  • ビルド時間
  • キャッシュ効率(ヒット/ミス率)
  • ピークリソース使用率

マルチ環境設定

複数の環境を管理することは、環境固有の構成を使用することで簡素化できます。ここでは、例としての設定を示します。

環境 構成ファイル
開発 .env.dev
環境 .env.staging
生産 安全な鍵

このスクリプトを使用して、環境を動的に設定できます:

- name: Configure Environment
  env:
    API_KEY: ${{ secrets.ENV_SPECIFIC_API_KEY }}
    BUNDLE_ID: ${{ parameters.bundleId }}
  run: |
    echo "ENVIRONMENT=${{ parameters.environment }}" >> $GITHUB_ENV
    echo "API_ENDPOINT=${{ parameters.apiUrl }}" >> $GITHUB_ENV

このスクリプトとCapgoのチャネルベースのデプロイを組み合わせると、環境に特化した正確な更新が可能になります。これにより、環境間でアプリケーションの動作をよりよく制御し、スムーズなロールアウトが実現します。

概要

開発におけるCI/CDの役割

Capacitorアプリケーション用のCI/CDパイプラインを使用すると、ワークフローの効率が大幅に向上します。業界データによると、チームは 50-70%の高速化されたリリースサイクル 同時にiOSとAndroidのビルドが可能 [3]を実現できます。また、依存関係のインストールやプラットフォームの同期などのタスクを自動化すると、 40-60% [1][2].

例えば、Azure DevOpsパイプラインを使用するチームは、シーケンシャルビルドステップやXcodeパッケージングなどのプロセスを自動化し、開発と生産の両方でパラメータ化された環境を使用します。このアプローチにより、GradleとXcodeのCLI操作が手動で行われなくなり、毎回のアーティファクトの作成が信頼性が高くなります。

これらの改善は、Capgoと組み合わせると、更新管理のフローを簡素化するための土台を築く。

Capgo for Update Management

CapgoはCI/CD Pipelinesと組み合わせて、即時更新を提供し、App Storeのポリシーに準拠したままにします。更新は、パイプラインに組み込まれた自動テストゲートを通過した後のみ、展開されます。

自動ビルドとフェーズドロールアウトを組み合わせると、チームは以下の結果を達成します: 80%のユーザーが7日以内にカバーされる 1時間以内にロールバックが可能

パラレル展開トラックを実行することが一般的な戦略です。内部テスト用に自動ビルドが使用され、ユーザーセグメントを対象としたフェーズドロールアウトが実行されます。このアプローチにより、更新は安全かつ迅速に実行され、厳格な自動テストゲートによって裏付けられます。 [1].

FAQs

Capacitorアプリを作成するには?

Capacitorアプリを作成するには、以下の手順を実行します:

  1. 環境の設定: Node.jsとnpmをシステムにインストールします。次に、Ionic CLIを使用して、Capacitorサポートを含む新しいプロジェクトを開始します:

    ionic start myApp tabs --capacitor
  2. プラットフォームのサポートを追加: iOS または Android などのターゲットとするプラットフォームを追加します

    npx cap add ios
    npx cap add android
  3. : Web の code を同期する: Web の code がネイティブプラットフォームと同期されていることを確認するには、以下のコマンドを実行してください

    npx cap sync

: CI/CD パイプラインでアプリが smooth に動作するようにするために、プラットフォーム間で一貫性を保つことが重要です。環境設定の詳細については、ツールのセクションを参照してください。

CI/CD の設定から Capacitor アプリの設定を続けてください

: CI/CD の自動化を計画する場合、__CAPGO_KEEP_0__ CI/CD と接続してください Setting Up CI/CD for Capacitor Apps CI/CD自動化を計画するには、接続する Capgo CI/CD : Capgo CI/CD の Capgo Native Builds を使用してください : Capgo CI/CD の Capgo Native Builds を使用してください Capacitor アプリの製品ワークフローで Capgo ネイティブ ビルドのために Capgo 連携サービス Capacitor アプリの製品ワークフローで Capgo 統合を使用します。 CI/CD統合 CI/CD統合の実装詳細について GitHub アクション統合 Capacitor アプリのための CICD 設定の実装詳細については、GitHub アクションの統合を参照してください。

Capacitorのリアルタイムアップデート

Capgoのバグが生じた場合、修正をアプリに直接送信して、数日間待つ必要のないアプリストアの承認を待つ必要があります。ユーザーはバックグラウンドでアップデートを受け取り、ネイティブの変更は通常のレビュー経路を通じて実行されます。

最新のブログ

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