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

Capacitor アプリのCI/CD設定

__CAPGO_KEEP_0__ アプリのiOSとAndroid向けリリースをCI/CDパイプラインでスムーズにする方法を学び、効率を高め、エラーを減らす。

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケティング

Capacitor アプリのCI/CD設定

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__

: リリース後の更新をフェーズドロールアウトとロールバックの安全保障機能で有効にします。

  1. Quick Setup Steps:環境の準備
  2. : iOS と Android 用の必要なツールのインストールを行います。プロジェクトの設定 capacitor.config.ts :
  3. 環境変数の安全な更新と管理を行います。: Automate dependency installs, builds, and tests for both platforms.
  4. パフォーマンスの最適化: キャッシュ、並列ビルド、条件付きワークフローを使用してパフォーマンスを最適化します。
  5. : セキュアで、フェーズドロールアウトの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 フレームワーク ドキュメント ウェブサイト

あなたの 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 certificate
  • ANDROID_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.ipaApp Store Connect
Android.aabGoogle 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 ライブアップデートダッシュボードインターフェイス

ワークフローに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 アプリを作成するには、以下の手順を実行します:

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

    ionic start myApp tabs --capacitor
  2. プラットフォームの追加: iOS または Android などのターゲットとするプラットフォームを追加します。

    npx cap add ios
    npx cap add android
  3. Web code の同期: Web code がネイティブプラットフォームと同期されていることを確認するには、以下のコマンドを実行します。

    npx cap sync

同期ステップは、CI/CD Pipelines で smooth な動作を保証するために、各プラットフォーム間で一貫性を保つために重要です。環境の設定についての詳細は、Tools セクションを参照してください。

リアルタイム更新機能付きのCapacitorアプリ

ウェブ層のバグが実行中の場合、Capgo を通じて修正を配信し、数日待つアプリストアの承認を避けることができます。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路で残ります。

はじめに始めましょう

最新のブログ記事

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