メインコンテンツへスキップ
プロダクト

Mac不要のiOS Cloud Build(Capacitor・CI向け)

Mac不要で、あらゆるCIからiOSおよびAndroidのCapacitorアプリをビルド・署名できます。cap syncの後にCLIステップを追加するだけで、App StoreやPlay Storeへの提出も可能です。

Capacitor を使用した Mac なしの iOS クラウドビルドと CI Capgo ブログ用イラスト

Capgo Cloud Build Macを持たずにiOS/Androidアプリをビルド・署名できるよう、Capacitorチームを支援します。Webビルド、テスト、 npx cap sync 既存のパイプライン内で、次に呼び出す Capgo のビルド 署名済みバイナリの作成からストアへのオプション提出まで、CLI のステップで完結。製品概要と料金については、 Capgo Native Build をご覧ください。詳細な回答は Capacitor Mac なしの iOS ビルドに関する FAQ.

解決しようとしている課題

ネイティブモバイルアプリの開発は、Web開発者にとって常に大きな課題でした。以下のものが必要になります:

  • ローカル開発ツール: ローカル環境への Xcode (30GB以上) や Android Studio のインストールと管理
  • Macへのアクセス権: 従来の iOS ビルドのリリースフローでは、全開発者のマシンに Mac が必要でした
  • CI/CD の設定: ビルドキャッシュや認証情報の管理を含む、複雑な GitHub Actions や CI/CD ワークフローの構築
  • 依存関係の管理: 各環境におけるビルドツール、SDK、証明書のアップデート維持

これらすべてをスキップして、コマンド一つで済ませられるとしたら?

Cloud Build のご紹介

Capgo Cloud Build を使えば、アプリのビルドはこれだけで完了します:

# First time: Save your credentials locally
npx @capgo/cli@latest build credentials save --platform ios
npx @capgo/cli@latest build credentials save --platform android

# Then build
npx @capgo/cli@latest build com.example.app

これだけです。Xcode も Android Studio も、複雑な CI/CD 設定も不要。以下のコマンド一つで:

  1. プロジェクトをローカルで zip 圧縮
  2. Capgo のクラウドインフラにアップロードします
  3. 保存済みの認証情報を使用して、専用インフラ上でアプリをビルドします
  4. ログをターミナルにリアルタイムでストリーミングします
  5. App Store および Play Store へ提出します(設定済みの場合)

仕組み

Expo EAS Buildと同じアプローチでCapgo Cloud Buildを作りました。専用のクラウドインフラが複雑な部分をすべて引き受けます。

しかし、私たちが違うのはここです: 私たちは3年間、これを続けてきました。Capgoの創業当初から社内でクライアント向けのネイティブアプリを開発しており、Capacitorアプリを確実にビルドするために何が必要かを熟知しています。

私たちの専門知識

この3年間で、私たちがやってきたこと:

  • 独自のFastlaneシステムを構築 - Capacitorアプリに特化して最適化したカスタムFastlane設定を作成しました
  • Capacitorビルドをマスター - プラグイン設定からネイティブ依存関係まで、Capacitor向けビルドで重要なポイントを深く理解しています
  • ネイティブのみに集中 - ビルドするのはネイティブ部分(iOSとAndroid)のみです。JavaScriptはお客様の環境に残ります。お客様のWeb codeに触れたり保存したりすることは一切ありません
  • インフラを改善 - 数千回に及ぶ内部ビルドを通じて、提供前にビルドシステムを完成させてきました

これは新しい実験ではありません。長年運用してきた実績あるインフラを、サービスとして提供します。

Android向け

Androidビルドは、完了後すぐにクリーンアップされる安全な Cloudflare サンドボックス内で実行されます。アプリは Capacitor に最適化されたビルドスクリプトでGradleによりコンパイル・署名され、Play Storeへすぐ提出できる状態になります。

iOS向け

iOSビルドは、オンデマンドで用意される専用Macマシン(Scaleway Mac minis)上で実行されます。長年の Capacitor ビルドで磨き上げた独自のFastlaneセットアップを使い、アプリのビルド・署名・TestFlightへの提出を行います。セキュリティのため各ビルドは隔離されたmacOSユーザーアカウントで実行され、マシンは24時間後に自動でクリーンアップされます。

リアルタイムログ

他のソリューションと違い、ビルドログを発生と同時にターミナルへ直接ストリーミングします。次の流れをリアルタイムで確認できます:

  • 依存関係のインストール
  • ビルドのコンパイル
  • Code の署名
  • App Storeへの申請
  • エラーや警告の有無

そして、ここが重要なポイントです: ログは保存されません。ログはビルド中のみ CLI セッションから確認可能で、プライバシーが保護されます。

認証情報の仕組み

ビルドを開始するには、署名情報の提供が必要です。Capgo は最大限のセキュリティを考慮してこれを行います。

認証情報のローカル保存

認証情報は、お使いのマシンの以下にローカル保存されます: ~/.capgo/credentials.json:

# For iOS - provide certificates and provisioning profiles
npx @capgo/cli@latest build credentials save --platform ios \
  --certificate ./path/to/cert.p12 \
  --p12-password "your-password" \
  --provisioning-profile ./path/to/profile.mobileprovision

# For Android - provide keystore and passwords
npx @capgo/cli@latest build credentials save --platform android \
  --keystore ./path/to/keystore.jks \
  --keystore-alias "your-alias" \
  --keystore-key-password "key-password" \
  --keystore-store-password "store-password"

これらの認証情報は、 Capgo にアップロードされることは ありません。ビルドをリクエストするまで、安全にお使いのマシン内に保持されます。

ビルド中のプロセス

ビルドコマンドを実行すると:

  1. ローカル: CLI が以下から認証情報を読み取ります: ~/.capgo/credentials.json
  2. アップロード: 認証情報は、プロジェクトと一緒に HTTPS 経由で Capgo のビルドサーバーへ安全に送信されます
  3. ビルド: 認証情報はビルド実行中のみ使用されます
  4. クリーンアップ: ビルド完了後、認証情報は Capgo サーバーから自動的に削除されます

セキュリティの保証

認証情報の安全性に関する保証事項:

  • ✅ 永続的な保存は一切なし - 認証情報はビルド実行中のみ Capgo サーバー上に存在します
  • ✅ 自動削除 - ビルド完了後すぐに削除(ビルド失敗時でも最大24時間以内に削除)
  • ✅ ログもアーティファクトも残さない - 認証情報の痕跡が含まれる可能性のあるビルドログやIPA/APKファイルは保存しません
  • ✅ エフェメラルな環境 - ビルド環境は使用後に完全に破棄されます
  • ✅ ストアへ直接配信 - アプリはApp Store/Play Storeへ直接送信されます - Capgo にアプリが残ることはありません

認証情報の管理

保存された認証情報はすべてご自身でコントロールできます:

# List saved credentials (passwords masked)
npx @capgo/cli@latest build credentials list

# Clear credentials for a specific platform
npx @capgo/cli@latest build credentials clear --platform ios

# Clear all credentials
npx @capgo/cli@latest build credentials clear

必要な認証情報は?

iOSの場合:

  • ビルド証明書 (.p12 ファイルとパスワード)
  • プロビジョニングプロファイル (.mobileprovision ファイル)
  • 任意: App Store Connect API キー (自動提出用)

Androidの場合:

  • Keystore ファイル (.jks または .keystore)
  • Keystoreエイリアス
  • Keystoreのキーパスワード
  • Keystoreのストアパスワード
  • 任意: Google Play サービスアカウントの JSON (自動リリース用)

詳しくは 認証に関するドキュメント 詳細なセットアップ手順についてはこちらをご覧ください。

プライバシーとセキュリティを最優先

認証情報の管理だけでなく、プライバシーとセキュリティを考慮したビルドシステムを設計しました:

  • ログを保存しません: ビルドログは Server-Sent Events (SSE) を介してリアルタイムでターミナルにストリーミングされますが、ディスクやデータベースに保存されることはありません
  • アーティファクトを保存しません: ビルドされたIPA/APKファイルは、ビルドマシンからApp Store/Play Storeのサーバーへ直接送信されます。Capgo がこれらを保存することはありません
  • 自動クリーンアップ:
    • Android: ビルド完了後、ビルド用サンドボックスは即座に破棄されます
    • iOS: ビルド後にMacのユーザーアカウントをクリーンアップし、24時間後にマシンを解放します
  • 隔離されたビルド環境: 各iOSビルドは、独自のキーチェーンを持つ完全に独立したmacOSユーザーアカウントで実行されます
  • Code のプライバシー: 私たちはネイティブ部分のみをビルドします。JavaScript/HTML/CSSが私たちのサーバーに触れることはありません
  • ビルド履歴の非保持: アクティブなビルドに必要な範囲を超えて、ビルド、バージョン、またはビルドメタデータのデータベースを保持することはありません

どこでも利用可能

Cloud Buildは、ローカルマシン、GitHub Actions、GitLab CI、またはあらゆるCI/CDプラットフォームで動作します。

ローカル開発

ローカル環境では、一度認証情報を保存すればいつでもビルド可能です:

# One-time credential setup
npx @capgo/cli@latest build credentials save --platform ios \
  --certificate ./certs/dist.p12 \
  --p12-password "$P12_PASSWORD" \
  --provisioning-profile ./certs/profile.mobileprovision

# Build anytime
npx @capgo/cli@latest build com.example.app --platform ios

CI/CD 連携

CI環境では、以下のいずれかの方法を選択できます:

オプション 1: CIに認証情報を保存する (シンプルで推奨される方法)

# GitHub Actions example
- name: Save credentials and build
  env:
    CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
    P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
  run: |
    # Decode base64-encoded credentials from secrets
    echo "${{ secrets.IOS_CERTIFICATE_BASE64 }}" | base64 -d > cert.p12
    echo "${{ secrets.PROVISIONING_PROFILE_BASE64 }}" | base64 -d > profile.mobileprovision

    # Save credentials
    npx @capgo/cli@latest build credentials save --platform ios \
      --certificate ./cert.p12 \
      --p12-password "$P12_PASSWORD" \
      --provisioning-profile ./profile.mobileprovision

    # Build
    npx @capgo/cli@latest build com.example.app --platform ios

オプション 2: インラインで認証情報を提供する (高度なユースケース向け)

環境変数で直接認証情報を渡すことも可能です。詳細は 認証情報のドキュメント をご覧ください。

CI環境でMacランナーの設定、ビルドキャッシュの管理、SDKのインストールを行う必要はありません。Capgo がこれらすべてをクラウド上で処理します。

シンプルで透明性の高い料金体系

実際のビルド時間に基づいた料金体系です:

  • Android ビルド:1倍の倍率
  • iOS ビルド:2倍の倍率(専用Macハードウェアのコストによる)

予期せぬ費用や最低利用期間はありません。使った分だけ支払う仕組みです。

Code は、あなたの責任で

Capgo Cloud Build の重要な原則: ネイティブ部分のみをビルドします.

Webソースの code や依存関係のインストールは、お客様側で行ってください。その後、 cap syncコンパイル済みの JavaScript、HTML、CSS がネイティブプロジェクトに upload され、ビルドに使用されます。完了後、一時的なプロジェクトデータは削除されます。Webアセットはローカルでビルド( npm run build (お好みのビルドツールを使用する場合も含む)ネイティブのコンパイルは当社が担当します。

この分離には明確な意図があります:

  • セキュリティの向上 - アプリケーションのロジックは常にユーザーの管理下に置かれます
  • ビルドの高速化 - Web側の code を再ビルドする時間を省けます
  • 責任範囲の明確化 - Webのビルドプロセスはユーザーが管理し、ネイティブの複雑な処理は当社が担当します

Live Updates については?

Cloud Build は既存の live update システムを補完するものです。両者の連携方法は以下の通りです:

  • Cloud Build: App Store/Play Storeの審査が必要なネイティブアプリの変更(プラグイン、権限、ネイティブcodeなど)用
  • Live Update: 審査なしで即座にデプロイ可能なWebcodeの変更(HTML、CSS、JavaScript)用

新しいプラグインの追加やネイティブ設定の変更にはCloud Buildを使用してください。それ以外はすべてLive Updateを使用します。これらを組み合わせることで、最速のデプロイワークフローを実現できます。

現在のステータス: 正式リリース済み

Cloud Buildは2026年1月に正式リリースされ、すべてのCapgoユーザーが利用できます。現在も実際の運用からのフィードバックをもとに改善を続けています。

始め方でお困りですか? Discordに参加して ぜひ教えてください。最初のビルドを動かすお手伝いをします。

スタートガイド

手間なくビルドを始めましょう。詳しくは Cloud Buildドキュメント をご覧ください:

次のステップ

現在開発中の機能:

  • iOSビルドの高速化: ビルド間で依存関係をキャッシュし、ビルド時間を短縮
  • ビルド成果物のストレージ: 手動配布用のIPA/APKファイルのダウンロード(任意)
  • カスタムビルドスクリプト: pre/post-buildフックとカスタムFastlane laneのサポート
  • ビルドログの履歴: デバッグと監査証跡のためのログ保存(任意)

Capgo Cloud Buildは、ネイティブモバイルアプリを構築するための、最もシンプルで開発者に優しい方法を目指して開発されています。フィードバックや機能のリクエストがあれば、ぜひ当社の Discordコミュニティ.

ハッピー・ビルディング!

よくある質問

Capgo Buildは、Capacitor チームをどのように支援するのか?

Webのビルドとcap syncの完了後、Capgo CLI が準備されたネイティブプロジェクトをアップロードし、コンパイルログをターミナルにストリーミングします。その後、署名済みのiOSおよびAndroidバイナリを返却するか、App Store ConnectやPlayの認証情報を設定している場合は、それらを直接アップロードします。

Capgo とは?

Capgo は、Capacitor アプリのためのリリースプラットフォームです。Capgo Buildは、署名済みネイティブバイナリの管理とストアへの提出を担います。Capgo Live Updatesは、ネイティブリリースの合間にJavaScriptやアセットの変更を配信します。


詳細を見る

Capacitor や CI 向け:Mac なしで Cloud iOS ビルドを継続する

使用している場合 Mac不要のiOS Cloud Build(Capacitor・CI向け) CI/CD自動化を計画するには、次と連携してください Capgo での CI/CD 設定 Capgo CI/CDでのプロダクトワークフローについては、 Capgo Native Build Capgo Native Buildsでのプロダクトワークフローについては、 Capgo インテグレーション Capgo インテグレーションでのプロダクトワークフロー向けに、 CI/CD 連携 CI/CD Integrationの実装詳細については、 GitHub Actions 連携 GitHub Actions Integrationの実装詳細については。

Capacitor アプリ向けの Live Updates

Web レイヤーのバグが本番で発生したら、App Store の審査を何日も待たずに Capgo で修正を配信しましょう。ネイティブの変更は通常の審査フローに残したまま、ユーザーはバックグラウンドでアップデートを受け取れます。

最新のブログ記事

Capgoは、真にプロフェッショナルなモバイルアプリを作るために必要な最高のインサイトを提供します。