iOSとAndroid向けのアプリリリースを早く、エラーが少ないようにしたい? CI/CDパイプラインは Capacitor アプリを自動でビルド、テスト、デプロイし、リリース時間を70%以下に短縮し、エラーを60%以下に減らすことができます。このガイドでは、環境を設定することから、リアルタイムに更新を自動化する Capgo.
キーメモ:
- エトロストエントムサゥスをからだは、 Capacitor アプリ: 78%のビルド時間を短縮し、60%のストアの却下を削減します。
- 基本ツール: Xcode, Android Studio, CocoaPods、さらに。
- パイプライン設定: 例えば、タスクを自動化することができます。
npx cap sync依存関係キャッシュ、プラットフォーム固有のビルド。 - リアルタイム更新とCapgo: リリース後アップデートを有効にし、フェーズドロールアウトとロールバックの保証を実施します。
Quick Setup Steps:
- 環境の準備: iOS と Android 用の必要なツールをインストールしてください。
- プロジェクトの設定: 環境変数を安全に更新および管理してください。
capacitor.config.tsビルドパイプライン - : iOS と Android の両方のプラットフォームで依存関係のインストール、ビルド、テストを自動化してください。パフォーマンスの最適化
- : キャッシュ、並列ビルド、条件付きワークフローを使用してください。ライブ更新の追加
- : __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__ フレームワーク ドキュメント ウェブサイト

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