iOSとAndroidのエラーなしの高速リリースを求めますか? CI/CDパイプラインは Capacitor アプリを自動でビルド、テスト、デプロイし、リリース時間を70%以上短縮し、エラーを60%削減します。このガイドでは、環境の設定からライブアップデートの自動化まで、すべての必要な情報が含まれます。 Capgo.
主なポイント:
- CI/CDの重要性 Capacitor アプリ: ビルド時間を78%短縮し、ストアの却下を60%削減します。
- 必須ツール: Xcode, Android Studio, CocoaPods, など。
- Pipelineの設定: タスクの自動化
npx cap sync依存関係キャッシュ、プラットフォーム固有のビルドを含む。 - リアルタイム更新: Capgo: リリース後からのアップデートをフェーズドロールアウトとロールバックの安全対策とともに有効にします。
クイックセットアップステップ:
- 環境を準備する: iOSとAndroidの両方のプラットフォーム向けに必要なツールをインストールする。
- プロジェクトを設定する: セキュアに環境変数を更新および管理する。
capacitor.config.tsビルドパイプライン - : 両方のプラットフォーム向けに依存関係のインストール、ビルド、テストを自動化する。パフォーマンスの最適化
- Optimize performance: キャッシュを使用し、並列ビルド、条件付きワークフローを実行します。
- Add live updates: セキュアで、OTA更新のフェーズドロールアウトを実行するために、Capgo を統合してください。
CI/CD を使用すると、Capacitor アプリは、エラーと手動介入を最小限に抑えながら、より速く、滑らかなリリースを実現します。ワークフローを最適化する準備ができましたか? では、始めましょう!
既存のCI/CD Pipelinesにモバイル機能を統合する
CI/CD環境の準備
CI/CDの基本を理解したら、次のステップは環境の設定です。これは、信頼できる自動化の骨格です。
ツールとソフトウェアの設定
次のキーツールがインストールされていることを確認してください:
iOS開発用:
- Xcode 14 またはそれ以降
- Xcode Command Line Tools
- CocoaPods 依存関係の管理
Android 開発用:
- Android Studio
- Android SDK 33 以上
- Java Development Kit (JDK)
Xcode Command Line Tools がインストールされているかどうかを確認するには、以下のコマンドを実行してください:
xcode-select -p
プロジェクトの Capacitor プロジェクト

あなたの Capacitor プロジェクトは、CI/CD ワークフローに正しく設定されている必要があります。 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 : iOS ビルドの場合、CI プラットフォームはmacOS エージェントをサポートしていることを確認してください。
echo "sdk.dir=$ANDROID_SDK_ROOT" > android/local.properties
環境変数の管理
To check if your environment is ready:
node --version | grep "v16" && xcodebuild -version | grep "Xcode 14" || exit 1
アプリのストアへの再提出を回避するには、キーとクレデンシャルを適切に管理することが重要です。以前の統計では、管理が不十分な場合の再提出率が高かったことが示されています。 [1].
CI/CD Pipelinesの作成
環境が整ったら、CI/CD Pipelinesを設定する必要があります。__CAPGO_KEEP_0__アプリのビルドとデプロイを効率的に管理するには、Webアセットとネイティブプラットフォームのビルドを両方とも管理する必要があります。 Capacitor appCI/CD環境では、依存関係の管理には厳格なバージョン管理が必要です。最初は、クリーンなインストールプロセスから始めましょう。
ビルドを高速化するには、依存関係キャッシュを使用します。たとえば、
Azure DevOps
npm install --ignore-scripts
npm install @capacitor/cli
ユーザーは、この設定でビルド時間が40-60%短縮されることを確認しました。 iOSとAndroidのビルド設定 iOSとAndroidのビルド設定
- task: Cache@2
inputs:
key: 'npm | "$(Agent.OS)" | package-lock.json'
path: |
node_modules
android/.gradle
ios/Pods
__CAPGO_KEEP_0__
両プラットフォームのビルド設定方法
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 }}
デプロイの場合、プラットフォーム固有のアーティファクトハンドリングを設定します。
| プラットフォーム | アーティファクトタイプ | 配布チャネル |
|---|---|---|
| iOS | .ipa | App Store Connect |
| Android | .aab | Google Play Console |
並行ビルドを正しく設定すると、パイプライン実行時間が大幅に短縮されることがあります。
ビルドが検証されパッケージ化されたら、ライブアップデートに進む準備が整いました。Capgo (次のセクションで説明します)。
sbb-itb-f9944d2
追加 Capgo ライブアップデート用

Integrating Capgo into your workflow enhances your CI/CD process by enabling post-release updates. Here’s how to set it up:
Capgo Pipeline Configuration
最初に、パイプライン環境に 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 セキュアな更新のために、
{
"verification": {
"checksum": "strict",
"certificatePinning": true,
"updateTimeout": 500
}
}
Capgo Features Overview
| __CAPGO_KEEP_0__ 機能の概要 | 概要 |
|---|---|
| 端末間の暗号化 | 展開エラーの発生率が著しく低下します。 |
| チャネルベースの展開 | 環境ごとにアップデートをカスタマイズします。 |
| フェーズドロールアウト | アップデートが段階的に配布されるようにします。 |
OTAアップデートガイドライン
展開後、次の重要な指標を追跡してテストプロセスを強化します。
フェーズドプロセス展開戦略
ステージドロールアウトを使用して、アップデートの配布を制御します。
- name: Staged Rollout
run: |
capgo deploy v1.2.3 --group "beta-users" --rollout 10%
capgo deploy v1.2.3 --rollout 50%
アップデート監視
__CAPGO_KEEP_0__の指標を監視してください:
- __CAPGO_KEEP_1__率__CAPGO_KEEP_2__:24時間以内に40-60%を目指してください。
- __CAPGO_KEEP_3____CAPGO_KEEP_4__:99.5%以上を維持してください。
- __CAPGO_KEEP_5____CAPGO_KEEP_6__:500ms未満を確認してください。
クラッシュ率が許容範囲を超えると、ロールバックを自動化してください:
- name: Rollback Check
run: |
if [ $(capgo stats --version v1.2.3 --metric crashes) -gt 2 ]; then
capgo rollback --channel production
fi
パイプラインのパフォーマンスを向上させる
3つの重要な領域に焦点を当てると、パイプラインのパフォーマンスが著しく向上する可能性があります。
ビルド速度の最適化
ウェブのみの変更の場合、__CAPGO_KEEP_7__を使用してください。 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"
}
}
これらの実践は、以下のメトリクスを使用してパイプラインのパフォーマンスを追跡し、改善するための堅固なフレームワークを提供します。
- ステージごとのビルド時間
- キャッシュ効率(ヒット/ミス比率)
- ピークリソース使用率
マルチエvironmentのセットアップ
複数の環境を管理することが簡素化されます。環境固有の構成を使用してください。
| 環境設定の例 | 設定ファイル |
|---|---|
| 開発 | .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 Pipelinesを利用するチームは、シーケンシャルビルドステップやXcodeパッケージングなどの自動プロセスを実行しています。また、開発と運用の両方でパラメータ化された環境を使用しています。このアプローチにより、GradleとXcodeの手動CLI操作が必要なくなり、毎回のアーティファクトの作成が確実になります。
これらの改善は、Capgoと組み合わせると、順序付きの更新管理の基盤を築くことになります。
Capgo for Update Management
CapgoはCI/CD Pipelinesと組み合わせて、即時更新を提供し、App Storeポリシーへの準拠を保ちます。更新は、パイプラインに組み込まれた自動テストゲートを通過した後のみ、デプロイされます。
自動ビルドとフェーズドロールアウトを組み合わせると、チームは以下のような結果を達成します: 7日以内に80%のユーザーカバレッジ 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 -
ウェブ code を同期するウェブ code がネイティブプラットフォームと同期されていることを確認するには、以下のコマンドを実行してください。
npx cap sync
同期ステップは、CI/CD パイプラインで smooth な動作を保証するために、各プラットフォーム間で一貫性を保つために不可欠です。環境設定の詳細については、Tools セクションを参照してください。
CI/CD の設定から Capacitor アプリを継続して進めます
CI/CD の自動化を計画している場合、__CAPGO_KEEP_0__ CI/CD を使用しています。 CI/CD の自動化を計画している場合、Capacitor CI/CD を使用しています。 CI/CD の自動化を計画している場合、__CAPGO_KEEP_0__ CI/CD を使用しています。 CI/CD の自動化を計画している場合、Capgo CI/CD を使用しています。 製品ワークフローにおけるCapgo CI/CDのために Capgo ネイティブビルド 製品ワークフローにおけるCapgo ネイティブビルドのために Capgo インテグレーション 製品ワークフローにおけるCapgo インテグレーションのために CI/CD インテグレーション CI/CD インテグレーションの実装詳細については GitHub アクションズ インテグレーション for the implementation detail in GitHub Actions Integration.