iOSとAndroid向けのアプリリリースを速く、エラーが少ないようにしたい? CI/CD パイプライン Capacitor アプリの自動ビルド、テスト、デプロイを実現し、リリース時間を最大70%短縮し、エラーを60%削減します。このガイドでは、環境の設定からライブ更新の自動化まで、すべてのことがカバーされています。 Capgo.
CI/CDの重要性
- アプリの自動ビルド、テスト、デプロイを実現し、リリース時間を最大70%短縮し、エラーを60%削減します。このガイドでは、環境の設定からライブ更新の自動化まで、すべてのことがカバーされています。 Capacitor appsCI/CDの重要性
- CI/CDの重要性: CI/CDの重要性, CI/CDの重要性, CI/CDの重要性CI/CDの重要性
- Pipeline 設定: タスクの自動化、
npx cap sync依存関係キャッシュ、 - Live updates with Capgoリアルタイム更新: __CAPGO_KEEP_0__
: リリース後の更新をフェーズドロールアウトとロールバックの安全保障機能で有効にします。
- Quick Setup Steps:環境の準備
- : iOS と Android 用の必要なツールのインストールを行います。プロジェクトの設定
capacitor.config.ts: - 環境変数の安全な更新と管理を行います。: Automate dependency installs, builds, and tests for both platforms.
- パフォーマンスの最適化: キャッシュ、並列ビルド、条件付きワークフローを使用してパフォーマンスを最適化します。
- : セキュアで、フェーズドロールアウトのOTAアップデートに__CAPGO_KEEP_0__を統合します。CapgoアプリはCI/CDを使用して、エラーと手動介入を最小限に抑えながら、より速く、滑らかなリリースを実現します。ワークフローを最適化する準備ができましたか? まずはここから始めましょう!
With CI/CD, Capacitor apps achieve faster, smoother releases while minimizing errors and manual intervention. Ready to optimize your workflow? Let’s dive in!
YouTube動画プレーヤー
CI/CDの基本を理解したら、次のステップは環境の設定です。これは、信頼できる自動化の骨格です。
ツールとソフトウェアの設定
次のキーなツールがインストールされていることを確認してください:
__CAPGO_KEEP_0__
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 ワークフローで正しく設定されている必要があります。CI/CD ワークフローでプロジェクトを設定するには、このファイルが中心的な役割を果たします。 capacitor.config.ts このファイルは、CI/CD 要件に沿ったプロジェクトを確保することを保証します。
const config: CapacitorConfig = {
appId: 'com.example.app',
webDir: 'build',
ios: {
scheme: 'MyApp'
}
}
環境変数の設定
環境設定とCI/CD パイプラインを関連付けるために、安全にクレデンシャルを管理することは、重要な要素です。
定義するキーアイテム:
: CI/CD パイプラインのデプロイステージを指定します (例えば、
BUILD_ENV:あなたの __CAPGO_KEEP_0__ 署名証明書production)IOS_SIGNING_IDENTITY: Your code signing certificateANDROID_KEYSTORE_PATHAndroid ビルドの場合、動的に署名証明書を生成します
環境変数の管理 local.properties __CAPGO_KEEP_0__ファイル
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パイプラインの作成
環境が使用可能であることを確認した後、__CAPGO_KEEP_0__アプリのためのCI/CDパイプラインを設定する必要があります。 Capacitor app依存関係の管理
CI/CD環境では、依存関係のバージョン管理が厳密に必要です。最初は、クリーンなインストールプロセスから始めてください。
ビルドを高速化するには、依存関係キャッシュを使用します。たとえば、
npm install --ignore-scripts
npm install @capacitor/cli
Azure DevOps Azure DevOps __CAPGO_KEEP_0__のビルド時間は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 }}
デプロイの場合、プラットフォーム固有のアーティファクトハンドリングを設定する
| プラットフォーム | アーティファクトタイプ | 配布チャネル |
|---|---|---|
| iOS | .ipa | App Store Connect |
| Android | .aab | Google Play Console |
並行ビルドを正しく設定すると、パイプライン実行時間が大幅に短縮されることがあります。
Once your builds are validated and packaged, you’re ready to move on to live updates with Capgo (discussed in the next section).
sbb-itb-f9944d2
追加 Capgo ライブアップデート用

ワークフローにCapgoを組み込むことで、CI/CDプロセスを強化し、リリース後の更新を可能にします。ここでは、設定方法を紹介します。
Capgo Pipelining設定
最初に、 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_KEEP_0__ __CAPGO_KEEP_1____CAPGO_KEEP_0__
{
"verification": {
"checksum": "strict",
"certificatePinning": true,
"updateTimeout": 500
}
}
Capgo機能概要
| 機能 | 説明 |
|---|---|
| 端末間の暗号化 | __CAPGO_KEEP_0__の展開エラーを大幅に削減します。 |
| チャネルベースの展開 | 特定の環境に合わせた更新を提供します。 |
| フェーズドロールアウト | 更新を段階的に配布することで、安定性を確保します。 |
OTA更新ガイドライン
__CAPGO_KEEP_0__の展開後、次の重要な指標を追跡することで、テストプロセスを強化してください。
フェーズド展開戦略
アップデートの配布を制御するステージドロールアウトを使用してください:
- 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の開発における役割
CI/CDパイプラインをCapacitorアプリケーションに使用すると、ワークフローの効率が大幅に向上します。業界データによると、チームは 50-70%のリリースサイクルが速くなる iOSとAndroidの同時ビルド [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
How to create a Capacitor app?
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 Pipelines で smooth な動作を保証するために、各プラットフォーム間で一貫性を保つために重要です。環境の設定についての詳細は、Tools セクションを参照してください。