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リリース後のアップデートを有効化するには、フェーズドロールアウトとロールバックの安全対策を使用します。
クイックセットアップステップ:
- 環境を準備するiOSとAndroidのために必要なツールをインストールする
- プロジェクトを設定する: Update
capacitor.config.tsアップデート - 環境変数を安全に管理するビルドパイプライン
- 依存関係のインストール、ビルド、テストを両方のプラットフォームで自動化するパフォーマンスを最適化する
- キャッシュ、並列ビルド、条件付きワークフローを使用する: 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 プロジェクト

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 ライブアップデート用

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アプリを作成するには、以下の手順を実行します:
-
環境の設定: Node.jsとnpmをシステムにインストールします。次に、Ionic CLIを使用して、Capacitorサポートを含む新しいプロジェクトを開始します:
ionic start myApp tabs --capacitor -
プラットフォームのサポートを追加: iOS または Android などのターゲットとするプラットフォームを追加します
npx cap add ios npx cap add android -
: 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 アクションの統合を参照してください。