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

CapacitorアプリのCI/CD設定

iOSとAndroid向けのアプリリリースをCI/CDパイプラインで効率化する方法を学びましょう。効率が高まり、エラーが減ります。

パライントムサゥス

パライントムサゥス

コンテンツマーケター

Setting Up CI/CD for Capacitor Apps

iOSとAndroid向けのアプリリリースを早く、エラーが少ないようにしたい? CI/CDパイプラインは Capacitor アプリを自動でビルド、テスト、デプロイし、リリース時間を70%以下に短縮し、エラーを60%以下に減らすことができます。このガイドでは、環境を設定することから、リアルタイムに更新を自動化する Capgo.

キーメモ:

  • エトロストエントムサゥスをからだは、 Capacitor アプリ: 78%のビルド時間を短縮し、60%のストアの却下を削減します。
  • 基本ツール: Xcode, Android Studio, CocoaPods、さらに。
  • パイプライン設定: 例えば、タスクを自動化することができます。 npx cap sync依存関係キャッシュ、プラットフォーム固有のビルド。
  • リアルタイム更新とCapgo: リリース後アップデートを有効にし、フェーズドロールアウトとロールバックの保証を実施します。

Quick Setup Steps:

  1. 環境の準備: iOS と Android 用の必要なツールをインストールしてください。
  2. プロジェクトの設定: 環境変数を安全に更新および管理してください。 capacitor.config.ts ビルドパイプライン
  3. : iOS と Android の両方のプラットフォームで依存関係のインストール、ビルド、テストを自動化してください。パフォーマンスの最適化
  4. : キャッシュ、並列ビルド、条件付きワークフローを使用してください。ライブ更新の追加
  5. : __CAPGO_KEEP_0__ を使用して、フェーズドロールアウトを含むセキュアなOTA更新を統合してください。: Integrate Capgo for secure, OTA updates with phased rollouts.

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

モバイル機能と既存のCI/CDパイプラインを統合する

CI/CD環境の準備

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

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

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

iOS開発用:

  • Xcode 14または新しいバージョン
  • Xcodeコマンドラインツール
  • CocoaPods 依存関係の管理

Android 開発用:

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

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

xcode-select -p

プロジェクトの作成 Capacitor __CAPGO_KEEP_0__ フレームワーク ドキュメント ウェブサイト

あなたの Capacitor プロジェクトは、CI/CD ワークフローに正しく設定されていることを確認してください。設定の中心となるファイルはこちらです。

Your Capacitor project needs to be configured correctly for CI/CD workflows. The capacitor.config.ts Xcode Command Line Tools のバージョンを確認するには、以下のコマンドを実行してください。

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

プロジェクトの設定

環境設定変数の設定

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 エージェントをサポートしていることを確認してください。

CI/CD パイプラインを設定する際のチェックリスト:

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

キーと資格情報を適切に管理することで、再提出の可能性が低くなります。これは、前述の統計に記載されています。 [1].

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

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

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

CI/CD 環境では、依存関係の管理には厳格なバージョン管理が必要です。 まず、クリーンなインストールプロセスから始めましょう。

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

依存関係キャッシュを使用してビルドを高速化することができます。例えば、Capacitor の場合、npm の `--cache` フラグを使用してキャッシュを有効にできます。 Azure DevOps ユーザーはこの設定でビルド時間が40-60%短縮されていると報告しています。

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

iOS と Android のビルド設定

プラットフォーム両方のビルドを設定する方法はこちらです。

iOS ビルド構成:

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 }}

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

プラットフォームアーティファクトタイプ配布チャネル
アサイン.ipaエェサアイントウサン
アサイン.aabアサイントウサンメイント

パイプラインの実行時間を大幅に短縮するには、並列ビルドを正しく設定する必要があります。

ライブ更新に進む準備が整ったら、パッケージが検証され、パッケージ化された後、Capgo (次のセクションで説明します) に進みます。

sbb-itb-f9944d2

追加 Capgo リアルタイム更新

Capgo ライブ更新ダッシュボードインターフェイス

ワークフローにCapgoを統合すると、リリース後の更新を可能にすることでCI/CDプロセスを強化できます。ここでは、セットアップ方法を紹介します。

Capgo パイプライン設定

Capgo CLI globally using npm. 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

「Capgo」 セキュアなアップデートバリデーション設定を次のように構成します。

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

Capgo 機能概要

機能説明
エンドツーエンド暗号化展開エラーを大幅に削減します。
__CAPGO_KEEP_0____CAPGO_KEEP_1__
__CAPGO_KEEP_2____CAPGO_KEEP_3__

__CAPGO_KEEP_4__

デプロイ後のテストプロセスを強化するには、次の重要な指標を追跡してください。

__CAPGO_KEEP_5__

__CAPGO_KEEP_6__

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

__CAPGO_KEEP_7__

__CAPGO_KEEP_8__

  • 24時間以内に40-60%を目指してください。__CAPGO_KEEP_9__
  • クラッシュフリー セッション: 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つの重要な領域に焦点を当てると、パイプラインのパフォーマンスが著しく向上します。

ビルド スピード オプティミゼーション

Web-Onlyの変更の場合、 npx cap sync を使用すると、フルネイティブのリビルドをスキップして時間を節約できるため、リビルド時間が約40%短縮されます。条件付きビルドを実装する方法については、以下を参照してください。

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

このアプローチでは、必要なコンポーネントのみを再構築するため、プロセスをstreamlineします。

バージョン管理の自動化

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

- 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パイプラインを使用すると、ワークフローの効率が大幅に向上します。業界データによると、チームは 同時にiOSとAndroidのビルドを実行することで 50-70%のリリースサイクルが短縮される [3]依存関係のインストールやプラットフォームの同期などのタスクを自動化することで、デプロイエラーが 40-60% [1][2].

Azure DevOpsパイプラインを利用するチームは、順次ビルドステップやXcodeパッケージングなどのプロセスを自動化し、パラメータ化された環境を開発と本番環境で使用しています。このアプローチにより、GradleとXcodeCLIの手動操作が不要になり、毎回のアーティファクトの作成が保証されます。

これらの改善は、Capgoと組み合わせると、更新管理のスムーズ化が可能になります。

Capgo for Update Management

CapgoはCI/CD Pipelinesと組み合わせて、即時更新を実現しながらアプリストアポリシーに準拠した更新を実施します。テストゲートを組み込んだパイプラインを通じて、更新は自動テストに合格した後にのみ展開されます。

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

パラレルデプロイメントトラックを実施することが一般的な戦略です。内部テスト用に自動ビルドを使用し、フェーズドロールアウトはユーザーセグメントをターゲットにします。このようにして、安全性と迅速性を両立させ、厳格な自動テストゲートを備えた更新を実現します。 [1].

FAQs

Capacitorアプリを作成する方法

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

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

    ionic start myApp tabs --capacitor
  2. __CAPGO_KEEP_0__サポートの追加: iOSやAndroidなどのターゲットプラットフォームを追加してください。

    npx cap add ios
    npx cap add android
  3. Sync your web code: Ensure your web code is aligned with the native platforms by running:

    npx cap sync

Webアプリケーションとnativeプラットフォームを同期するステップは、CI/CDパイプラインでsmoothな動作を保証するために重要です。環境設定の詳細については、Toolsセクションを参照してください。

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

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

スタートする

ブログの最新記事

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