資格情報の管理
インストール手順とフル マークダウン ガイドが含まれるセットアップの質問をコピーしてください。
iOS と Android のビルド資格情報をローカルに管理して、便利なクラウド ビルドを実行できます。
概要
概要セクションCapgo CLI では、ビルドの資格情報を保存します。 コンピューター上に保存されます — Capgo のサーバーには保存されません。デフォルトでは、すべてのプロジェクトで共有される 1 つのグローバルファイルに保存されます。 プロジェクトごとに保存する場合は、代わりにパスを渡してください。 ビルドの資格情報は、保存された資格情報が自動的に使用され、安全に __CAPGO_KEEP_0__ に送信され、ビルドが完了したら削除されます。 ~/.capgo-credentials/credentials.json__CAPGO_KEEP_0__ --local __CAPGO_KEEP_1__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ .capgo-credentials.json instead. When you run a build, the saved credentials are used automatically and sent securely to Capgo, then deleted after the build completes.
コマンド
「コマンド」セクションクレデンシャルをインタラクティブに管理
「クレデンシャルをインタラクティブに管理」セクション保存済みのクレデンシャルと効果的に作業する最速の方法は、インタラクティブ マネージャです。TUI (同じもの)を開き、保存されているものを参照できます。アプリとプラットフォームごとに設定されているものを確認し、CI/CD用のファイルをエクスポートしたり、プラットフォームのクレデンシャルを削除したりできます。 build init ターミナル画面 .env コピー
bunx @capgo/cli@latest build credentials manage| The quickest way to work with your saved credentials is the interactive manager. It opens a TUI (the same one uses) where you can browse what’s stored, see what’s configured per app and platform, export a CI/CD-ready file, or delete a platform’s credentials: | Terminal window |
|---|---|
--appId <appId> | App を管理する (省略した場合は選択肢を提示します) |
--platform <ios|android> | プラットフォームを管理する (省略した場合は選択肢を提示します) |
--local | プロジェクトごとに使用するのではなく、グローバルファイルを使用します。 .capgo-credentials.json グローバルファイルの代わりにプロジェクトごとにファイルを使用します。 |
一括実行可能なコマンドを使用するのではなく、個別のコマンドを使用しますか? 以下の個別のコマンドを使用してください。
クレデンシャルを保存
クレデンシャルを保存自動的に使用するためにローカルにビルドクレデンシャルを保存します:
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]クレデンシャルを更新
クレデンシャルを更新既存の資格情報を部分的に更新するには、すべて再入力する必要はありません:
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]この update コマンドは 追加的なマージ プロビジョニングプロファイルの場合 — 新しいプロファイルは既存のプロファイルとマージされます。全体のプロビジョニングマップを置き換える場合は、 --overwrite-ios-provisioning-map.
例 — 既存の資格情報に拡張プロファイルを追加します:
bunx @capgo/cli@latest build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"更新コマンドは save のオプションを受け付けますが、すべてはオプションです — 提供されたフィールドのみが更新されます。
資格情報のリスト
「資格情報のリスト」のセクション現在保存されている資格情報を表示 (パスワードはマスクされています):
bunx @capgo/cli@latest build credentials list
# List credentials for a specific appbunx @capgo/cli@latest build credentials list --appId com.example.app資格情報のクリア
「資格情報のクリア」のセクションローカルマシンから保存された資格情報を削除:
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Clear credentials for a specific app + platformbunx @capgo/cli@latest build credentials clear --appId com.example.app --platform ios資格情報の移行
「資格情報の移行」のセクション__CAPGO_KEEP_0__を新しいマルチターゲット形式に変換します:
bunx @capgo/cli@latest build credentials migrate --platform ios__CAPGO_KEEP_0__コマンドは、古い BUILD_PROVISION_PROFILE_BASE64 __CAPGO_KEEP_0__、これらを変換し、レガシーキーを削除します。詳細は CAPGO_IOS_PROVISIONING_MAP__CAPGO_KEEP_0__からシングルプロファイルをマイグレーション __CAPGO_KEEP_0__のiOS資格情報を保存 __CAPGO_KEEP_1__
__CAPGO_KEEP_1__
__CAPGO_KEEP_2__完全な例
「完全な例」のセクションbunx @capgo/cli@latest build credentials save \ --platform ios \ --certificate ./cert.p12 \ --p12-password "YourP12Password" \ --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \ --apple-key ./AuthKey_ABC1234567.p8 \ --apple-key-id "ABC1234567" \ --apple-issuer-id "00000000-0000-0000-0000-000000000000" \ --apple-team-id "TEAM123456"iOSオプション
「iOSオプション」のセクション| オプション | 説明 | 必要 |
|---|---|---|
--certificate <path> | __CAPGO_KEEP_0__ の .p12 証明書ファイルのパス | はい (リリース) |
--p12-password <password> | __CAPGO_KEEP_0__ の .p12 証明書のパスワード | はい (リリース) |
--ios-provisioning-profile <mapping> | __CAPGO_KEEP_0__ のプロビジョニング プロファイルのマッピング (、). 複数のターゲット アプリの場合に繰り返し可能です。 1 つのプロファイルと bundleId のプレフィックスがなければ、__CAPGO_KEEP_0__ はプロファイルから自動で推測します。bundleId=path). Repeatable for multi-target apps. If only one profile and no bundleId prefix, CLI auto-infers from the profile. | App Store Connect __CAPGO_KEEP_0__ の .p8 キーのパス |
--apple-key <path> | Path to App Store Connect API .p8 key | App Store Connect __CAPGO_KEEP_0__ のキーアイデンティティ |
--apple-key-id <id> | App Store Connect API Key ID | __CAPGO_KEEP_0__ |
--apple-issuer-id <id> | App Store Connect API 発行者 ID (UUID) | 注釈¹ を参照してください |
--apple-team-id <id> | App Store Connect チーム ID | はい |
--ios-distribution <mode> | 配布モード: app_store (デフォルト) または ad_hoc | いいえ |
--output-upload | Capgo ダウンロードリンクの有効期間を設定します | いいえ (デフォルト: false) |
--output-retention <seconds> | ビルド出力の有効期間 (例えば 3600s) | いいえ (デフォルト: 3600s) |
--skip-build-number-bump | 自動ビルド番号のインクリメントをスキップ | No |
何が保存されるか
「何が保存されるか」というセクションiOS 認証情報を保存するときに、CLI:
- 証明書とプロビジョニング プロファイル ファイルを読み取ります。
- base64 エンコードに変換します。
- 保存先
~/.capgo-credentials/credentials.json(または.capgo-credentials.jsonパスワードと ID を平文 (ローカル ファイルのみ) で保存します。--local) - — no App Store submission takes place. See
保存されたファイル構造:
{ "ios": { "BUILD_CERTIFICATE_BASE64": "...", "CAPGO_IOS_PROVISIONING_MAP": "{\"com.example.app\":{\"profile\":\"...\",\"name\":\"match AppStore com.example.app\"}}", "APPLE_KEY_CONTENT": "...", "P12_PASSWORD": "...", "APPLE_KEY_ID": "ABC1234567", "APPLE_ISSUER_ID": "...", "APP_STORE_CONNECT_TEAM_ID": "TEAM123456", "CAPGO_IOS_DISTRIBUTION": "app_store" }}Androidのクレデンシャルを保存
セクション「Androidのクレデンシャルを保存」完全な例
セクション「完全な例」bunx @capgo/cli@latest build credentials save \ --platform android \ --keystore ./release.keystore \ --keystore-alias "my-key-alias" \ --keystore-key-password "KeyPassword123" \ --keystore-store-password "StorePassword123" \ --play-config ./play-store-service-account.jsonAndroid オプション
セクション「Android オプション」| オプション | 説明 | 必須 |
|---|---|---|
--keystore <path> | .keystore または .jks ファイルへのパス | はい (リリース) |
--keystore-alias <alias> | キーストア内のキーアリセス | はい (リリース) |
--keystore-key-password <password> | キーアリセスのパスワード | はい (リリース) |
--keystore-store-password <password> | __CAPGO_KEEP_0__:のキーストア用パスワード | はい (リリース) |
--play-config <path> | Play Store サービス アカウント JSON のパス | はい (提出) |
__CAPGO_KEEP_0__:がどのように保存されるか
「__CAPGO_KEEP_0__:がどのように保存されるか」というセクションCLI:を保存するときにAndroidの資格情報が保存される
- キーストアとサービス アカウント JSON ファイルを読み取ります
- base64 エンコードに変換します
- 保存先
~/.capgo-credentials/credentials.json(または.capgo-credentials.jsonwith--local) - __CAPGO_KEEP_0__
The stored file structure:
{ "android": { "ANDROID_KEYSTORE_FILE": "...", "PLAY_CONFIG_JSON": "...", "KEYSTORE_KEY_ALIAS": "my-key-alias", "KEYSTORE_KEY_PASSWORD": "...", "KEYSTORE_STORE_PASSWORD": "..." }}Saved Credentialsを使用する
Section titled “Saved Credentialsを使用する”Saved Credentialsを保存すると、自動的にビルド時に使用されます:
# Credentials automatically loaded from ~/.capgo-credentials/credentials.jsonbunx @capgo/cli@latest build request com.example.app --platform iosSaved Credentialsをオーバーライドするには、環境変数を使用することもできます:
# Environment variables take precedence over saved credentialsBUILD_CERTIFICATE_BASE64="..." \P12_PASSWORD="different-password" \bunx @capgo/cli@latest build request com.example.app --platform ios優先順位の順序:
- 環境変数(最高優先順位)
- 保存されたクレデンシャル(
~/.capgo-credentials/credentials.json、またはローカル.capgo-credentials.json) - クレデンシャルなし(最低優先順位)
保存されたクレデンシャルを表示
セクション「保存されたクレデンシャルを表示」保存されたクレデンシャルの一覧を表示:
bunx @capgo/cli@latest build credentials list例:
📋 Saved Build Credentials:
iOS Credentials: ✓ Certificate (base64) ✓ Provisioning Map (JSON) ✓ Apple Key Content (base64) ✓ P12 Password: ******** ✓ Apple Key ID: ABC1234567 ✓ Apple Issuer ID: 00000000-0000-0000-0000-000000000000 ✓ Team ID: TEAM123456
Android Credentials: ✓ Keystore (base64) ✓ Play Store Config (base64) ✓ Keystore Alias: my-key-alias ✓ Key Password: ******** ✓ Store Password: ********
Location: ~/.capgo-credentials/credentials.json
🔒 These credentials are stored locally on your machine only. When building, they are sent to Capgo but NEVER stored there. They are auto-deleted after build completion.セキュリティのベスト プラクティス
セキュリティのベスト プラクティスローカル ストレージのセキュリティ
ローカル ストレージのセキュリティ-
ファイルのパーミッション
ターミナル # Global credentials directory + filechmod 700 ~/.capgo-credentialschmod 600 ~/.capgo-credentials/credentials.json# Local (per-project) credentials, if you use --localchmod 600 .capgo-credentials.json -
クレデンシャルをコミットしない
ターミナル # Ignore the per-project credentials file (used with --local)echo ".capgo-credentials.json" >> .gitignoreグローバル ファイルは、ホーム ディレクトリの外側のリポジトリ内にあります。
-
クレデンシャルを分離する
- ローカル開発とCI/CDで異なるクレデンシャルを使用する
- クレデンシャルを定期的にローテートする
- チームメンバー間でクレデンシャルを共有しない
CI/CDの使用
CI/CDの使用CI/CD環境の場合 環境変数を 保存されたクレデンシャルよりも
エクスポートする準備ができた .env (推奨)
エクスポートする準備ができた.env (推奨)手作業で各クレデンシャルファイルをbase64エンコードするのではなく 下記) では build credentials manage ファイルを生成してください:
bunx @capgo/cli@latest build credentials manage# pick your app → choose "Export to .env"ファイル (権限 .env.capgo.<appId>.<platform> ) には、保存されたすべてのクレデンシャルを環境変数として記述します — 各行は CI/CD プロバイダーに追加するシークレットです。両方のプラットフォームはデフォルトで組み込まれています。 1 つにスコープを設定するには 0600注意 --platform ios 注意 --platform android ファイルの生成
環境変数の完全なリファレンス
セクション「環境変数の完全なリファレンス」The CLI reads the following environment variables for credentials:
iOSの資格情報:
| 変数 | 説明 | フォーマット | 必要 |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | P12/PKCS12証明書 for code の署名 | Base64 | Yes (release) |
CAPGO_IOS_PROVISIONING_MAP | バンドルIDとプロビジョニングプロファイルデータのJSONマップ | JSON文字列 | Yes (release) |
P12_PASSWORD | P12証明書のパスワード | 平文 | 任意 |
APPLE_KEY_ID | App Store Connect API キーID | 文字列(例:「ABC1234567」) | 注釈¹を参照 |
APPLE_ISSUER_ID | App Store Connect API 発行者ID | UUID文字列 | 注記¹を参照 |
APPLE_KEY_CONTENT | App Store Connect API キー (.p8 ファイル内容) | Base64 | 注記¹を参照 |
APP_STORE_CONNECT_TEAM_ID | Apple Developer Team ID | 文字列 (例:「XXXXXXXXXX」) | はい |
CAPGO_IOS_DISTRIBUTION | 配布モード: app_store (標準) または ad_hoc | 文字列 | いいえ |
Android 認証情報:
| 変数 | 説明 | フォーマット | 必須 |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | APK/AABの署名用キーストアファイル | Base64 | はい (リリース) |
KEYSTORE_KEY_ALIAS | キーストア内キーアリース | 文字列 | はい (リリース) |
KEYSTORE_KEY_PASSWORD | キーアリースのパスワード | __CAPGO_KEEP_0__ | Yes* |
KEYSTORE_STORE_PASSWORD | 鍵ストアファイルのパスワード | 平文 | Yes* |
PLAY_CONFIG_JSON | Google PlayサービスアカウントJSON | Base64 | Yes (提出) |
*1つのパスワードのみが提供された場合、両方に使用される KEYSTORE_KEY_PASSWORD 、 KEYSTORE_STORE_PASSWORD.
GitHub アクションの例
GitHub アクションの例name: Cloud Build
on: push: branches: [main]
jobs: build-ios: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 - run: bun install - run: bunx @capgo/cli@latest build request com.example.app --platform ios env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }} APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }} APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }} APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
build-android: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 - run: bun install - run: bunx @capgo/cli@latest build request com.example.app --platform android env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE_FILE }} KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }} KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }} PLAY_CONFIG_JSON: ${{ secrets.PLAY_CONFIG_JSON }}Base64値の準備
「Base64値の準備」のセクションCI/CDシークレットとしてbase64に変換するために、資格情報ファイルを次のように変換します:
# iOS Certificate (.p12)base64 -i certificate.p12 | tr -d '\n' > certificate_base64.txt
# iOS Provisioning Profiles — use the CLI to generate CAPGO_IOS_PROVISIONING_MAP:bunx @capgo/cli@latest build credentials save --platform ios \ --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \ # ... other options# Then copy CAPGO_IOS_PROVISIONING_MAP from ~/.capgo-credentials/credentials.json to your CI secrets
# iOS App Store Connect Key (.p8)base64 -i AuthKey_XXXXXX.p8 | tr -d '\n' > apple_key_base64.txt
# Android Keystore (.keystore or .jks)base64 -i release.keystore | tr -d '\n' > keystore_base64.txt
# Google Play Service Account JSONbase64 -i play-store-service-account.json | tr -d '\n' > play_config_base64.txt「環境変数のセキュリティの理由」のセクション
資格情報ファイルをCI/CDシークレットとしてbase64に変換するには、次の手順に従います。このアプローチは、以下の理由により、より安全です。
- シークレットは、CI/CD プラットフォームによって管理されます。
- ランナーの上でシークレットファイルが存在しません。
- シークレットのローテーションとアクセス制御が容易です。
- シークレットの使用に関する監査トレイルが作成されます。
シークレットのローテーション
セクションのタイトル:「シークレットのローテーション」定期的にクレデンシャルをローテーションしてください:
- iOS: 年に一度新しい証明書と API キーを生成してください。
- Android: 年に一度キーストアのパスワードを変更してください。
- チームの変更後: チームメンバーが退社したときに回転
保存済みの資格情報を更新:
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...トラブルシューティング
「トラブルシューティング」のセクション”No credentials found”
資格情報が見つかりません「資格情報が見つかりません」のセクション
-
ビルドが資格情報が見つからないと表示される場合::
資格情報が保存されているか確認する bunx @capgo/cli@latest build credentials list -
クレデンシャルが欠落している場合にクレデンシャルを保存:
ターミナル画面 bunx @capgo/cli@latest build credentials save --platform ios ... -
クレデンシャルファイルが存在することを確認:
ターミナル画面 ls -la ~/.capgo-credentials/credentials.json # globalls -la .capgo-credentials.json # local (--local)
ファイルを読み込むときに「許可されていません」というエラー
「ファイルを読み込むときに「許可されていません」というエラー」のセクションファイルのパーミッションを修正
chmod 600 ~/.capgo-credentials/credentials.json # globalchmod 600 .capgo-credentials.json # local資格情報が使用されていない
資格情報が使用されていない正しいプラットフォームが指定されているか確認してください:
# Make sure --platform matches saved credentialsbunx @capgo/cli@latest build request com.example.app --platform ios # Uses ios credentialsbunx @capgo/cli@latest build request com.example.app --platform android # Uses android credentials資格情報をクリアして再保存
資格情報をクリアして再保存資格情報が不正なようだら
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Save againbunx @capgo/cli@latest build credentials save --platform ios ...環境変数から移行
環境変数から移行環境変数を使用している場合、保存済みの資格情報に移行できます:
-
現在の環境変数を抽出
ターミナル画面 echo $BUILD_CERTIFICATE_BASE64 # Verify they exist -
base64ファイルを元のファイルに復元 (必要に応じて)
ターミナル画面 echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision -
CLIで保存
ターミナル画面 bunx @capgo/cli@latest build credentials save \--platform ios \--certificate ./cert.p12 \--ios-provisioning-profile ./profile.mobileprovision \--p12-password "$P12_PASSWORD" \--apple-key-id "$APPLE_KEY_ID" \--apple-issuer-id "$APPLE_ISSUER_ID" \--apple-team-id "$APP_STORE_CONNECT_TEAM_ID"既存の資格情報が古い形式(単一)で保存されている場合
BUILD_PROVISION_PROFILE_BASE64)、実行するターミナル画面 bunx @capgo/cli@latest build credentials migrate --platform iosこのレガシーのシングルプロファイルを変換し
CAPGO_IOS_PROVISIONING_MAP古いBUILD_PROVISION_PROFILE_BASE64とAPPLE_PROFILE_NAMEキーを削除します。 -
ビルドをテストする
ターミナル画面 bunx @capgo/cli@latest build request com.example.app --platform ios -
環境変数を削除する (省略可能)
ターミナルウィンドウ unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64
ファイルの場所
「ファイルの場所」というセクションクレデンシャルは、単一のJSONファイルに保存されています:
- グローバル (デフォルト):
~/.capgo-credentials/credentials.jsonすべてのプロジェクトで共有されます - ローカル (プロジェクトルートに
--local):.capgo-credentials.jsonプロジェクトごとにグローバルファイルを上書きします
ファイルは、最初にクレデンシャルを保存したときに自動的に作成されます。追加 .capgo-credentials.json あなたの .gitignore プロジェクトごとに認証情報はコミットされません。
次のステップ
セクション “次のステップ”- はじめに - 最初のビルドを作成
- iOS ビルド - iOS 用のビルド設定
- Android ビルド - Android 用のビルド設定
- トラブルシューティング - 一般的な問題と解決策
ヘルプが必要ですか?
ヘルプが必要ですか?- 📚 トラブルシューティング ガイド
- 💬 Discord コミュニティ
- 📧 メール: support@capgo.app
クレデンシャルを管理するから続けて
クレデンシャルを管理するから続けてCI/CD オートメーションを計画する場合は 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.