資格情報の管理
このプラグインのインストール手順とフルマークダウンガイドを含むセットアッププロンプトをコピーします。
iOSとAndroidのビルドクレデンシャルをローカルに管理して、便利なクラウドビルドを実行します。
Capgo CLI あなたのマシン上で — Capgoのサーバーでは決してありません。デフォルトでは、すべてのプロジェクトで共有される1つのファイルに保存されます。 グローバル ファイル、 ~/.capgo-credentials/credentials.jsonプロジェクトごとに保存する --local 代わりに。ビルドを実行すると、保存されたクレデンシャルは自動的に安全に__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.
コマンド
セクション「コマンド」資格情報をインタラクティブに管理する
セクションのタイトル “クレデンシャルをインタラクティブに管理する”__CAPGO_KEEP_0__で保存したクレデンシャルと仕事する最速の方法は、インタラクティブ マネージャです。 TUI (同じもの) を開きます build init ここでは、保存されているものをブラウズできます。アプリとプラットフォームごとに設定されているものを確認できます。CI/CD用のファイルをエクスポートすることもできます。あるいは、プラットフォームのクレデンシャルを削除することもできます。 .env ターミナルウィンドウ
bunx @capgo/cli@latest build credentials manage| 説明 | 管理するアプリ (省略した場合は、選択するように促します) |
|---|---|
--appId <appId> | 管理するプラットフォーム (省略した場合は、選択するように促します) |
--platform <ios|android> | プロジェクトごとに使用する |
--local | グローバルファイルの代わりに .capgo-credentials.json Section titled “Manage Credentials Interactively” |
一括実行可能なスクリプトコマンドを使用することをお勧めしますか? 以下の個別コマンドを使用してください。
__CAPGO_KEEP_0__
セクション:__CAPGO_KEEP_1__ローカルにビルド用の資格情報を保存して、自動的に使用してください:
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]__CAPGO_KEEP_4__
__CAPGO_KEEP_5____CAPGO_KEEP_6__
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]__CAPGO_KEEP_9__ update コマンドの使用 __CAPGO_KEEP_0__ プロビジョニング プロファイルの追加マージ — 新しいプロファイルは既存のプロファイルとマージされます。プロビジョニング マップ全体を置き換える場合は、 --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クレデンシャルを移行
クレデンシャルを移行レガシーシングルプロファイル形式を新しいマルチターゲット形式に変換します。
bunx @capgo/cli@latest build credentials migrate --platform iosマイグレーションコマンドは古いものを検出します。 BUILD_PROVISION_PROFILE_BASE64 資格情報、を変換し、 CAPGO_IOS_PROVISIONING_MAP, そして、レガシーキーを削除します。詳細は Single Profile からマイグレーション を参照してください。
iOS の資格情報を保存する
「iOS の資格情報を保存する」のセクション完全な例
「完全な例」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> | .p12証明書ファイルへのパス | リリース時は「はい」 |
--p12-password <password> | .p12証明書のパスワード | Yes (release) |
--ios-provisioning-profile <mapping> | 複数のターゲットアプリに対応するため、繰り返し可能です。bundleId=path). Repeatable for multi-target apps. If only one profile and no bundleId prefix, CLI auto-infers from the profile. | ). |
--apple-key <path> | プロファイルが1つしかない場合、Bundle IDのプレフィックスがなければ、APIはプロファイルから自動で推測します。 | Yes (release) |
--apple-key-id <id> | App Store ConnectのAPI .p8 キーへのパス | See note¹ |
--apple-issuer-id <id> | App Store ConnectのAPI キーID | See note¹ |
--apple-team-id <id> | App Store Connectの__CAPGO_KEEP_0__ 発行者ID (UUID) | See note¹、App Store ConnectのチームIDです。 |
--apple-id <email> | Apple IDメールアドレス(アプリ固有パスワードアップロードの代替としてAPIキーを使用します。 | 注記²を参照してください。 |
--apple-app-specific-password <password> | アプリ固有パスワード(xxxx-xxxx-xxxx-xxxx) | 注記²を参照してください。 |
--apple-app-id <id> | 数字のApp Store ConnectアプリID(例えば 1234567890) | 注記²を参照してください。 |
--ios-distribution <mode> | 配布モード: app_store (デフォルト) または ad_hoc | なし |
--output-upload | ビルドアーティファクトのCapgoダウンロードリンクを時限で有効にします。 | なし(デフォルト: false) |
--output-retention <seconds> | ビルド出力の保持期間(例えば 3600s) | No (default: 3600s) |
--skip-build-number-bump | 自動ビルド番号のインクリメントをスキップ | No |
何が保存されるか
セクション「何が保存されるか」iOS の資格情報を保存するときに、CLI:
- 証明書とプロビジョニング プロファイル ファイルを読み取ります
- base64 エンコードに変換します
- ファイルを保存します
~/.capgo-credentials/credentials.json(または.capgo-credentials.jsonパスワードと ID を平文 (ローカル ファイルのみ) で保存します--local) - 保存されたファイル構造:
クリップボードにコピー
{ "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> | __CAPGO_KEEP_0__ファイルへのパス | はい (リリース) |
--keystore-alias <alias> | __CAPGO_KEEP_1__のキーアリセイ | はい (リリース) |
--keystore-key-password <password> | __CAPGO_KEEP_2__のキーアリセイのパスワード | はい (リリース) |
--keystore-store-password <password> | __CAPGO_KEEP_3__のキーアリセイのパスワード | Yes (release) |
--play-config <path> | Play Store サービス アカウント JSON のパス | Yes (submission) |
何が保存されるか
「何が保存されるか」というセクションAndroid 認証情報を保存するときに、CLI: が読み込まれます。
- キーストアとサービス アカウント JSON ファイルを読み込みます。
- base64 エンコードに変換します。
- ファイルに保存します。
~/.capgo-credentials/credentials.json(または.capgo-credentials.jsonと--local) - ローカルファイルのみでパスワードとエイリアスを平文で保存します。
保存されたファイル構造:
{ "android": { "ANDROID_KEYSTORE_FILE": "...", "PLAY_CONFIG_JSON": "...", "KEYSTORE_KEY_ALIAS": "my-key-alias", "KEYSTORE_KEY_PASSWORD": "...", "KEYSTORE_STORE_PASSWORD": "..." }}保存済みの資格情報を使用する
セクション「保存済みの資格情報を使用する」資格情報を保存すると、ビルド時に自動的に使用されます:
# Credentials automatically loaded from ~/.capgo-credentials/credentials.jsonbunx @capgo/cli@latest build request com.example.app --platform ios環境変数を使用して保存済みの資格情報を上書きすることもできます:
# 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__CAPGO_KEEP_0__
-
クレデンシャルを分離する
- ローカル開発とCI/CD用に異なるクレデンシャルを使用する
- クレデンシャルを定期的にローテートする
- チームメンバー間で資格情報を共有しないでください
CI/CD Usage
CI/CD UsageCI/CD環境の場合、 環境変数を保存された資格情報よりも優先してください。 環境変数を保存された資格情報よりも優先してください。
CI/CD環境で使用する環境変数を生成するには、 .env CI/CD環境で使用する環境変数を生成するには、
手動で資格情報ファイルをbase64エンコードするのではなく (下記を参照)、手動で資格情報ファイルをbase64エンコードするのではなく (下記を参照)、 下記を参照してください。下記を参照してください。 build credentials manage ファイルを自動生成します:
bunx @capgo/cli@latest build credentials manage# pick your app → choose "Export to .env"デフォルトでは両方のプラットフォームを組み合わせています。CI/CD プロバイダーに追加するシークレットの 1 つとして、1 行ずつ環境変数として保存されるシークレットを含むファイル (パーミッション .env.capgo.<appId>.<platform> ) を作成します。 0600注意 --platform ios 注意 --platform android エクスポートされたファイルには署名シークレットが含まれています。CI/CD プロバイダーに追加するには、コミットしないでください。
環境変数全般のリファレンス
セクション: 環境変数全般のリファレンスCLIは、以下の環境変数を読み取ります。
iOSの認証情報:
| 変数 | 説明 | フォーマット | 必要 |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | codeの署名用P12/PKCS12証明書 | Base64 | はい (リリース) |
CAPGO_IOS_PROVISIONING_MAP | バンドルIDとプロビジョニングプロファイルデータのJSONマップ | JSON文字列 | Yes (リリース) |
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 | キーアリセイサのパスワード | 平文 | はい* |
KEYSTORE_STORE_PASSWORD | キーストアファイルのパスワード | 平文 | はい |
PLAY_CONFIG_JSON | Google PlayサービスアカウントJSON | Base64 | はい(提出) |
*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値の準備
Section titled “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環境変数の安全性の理由
Section titled “環境変数の安全性の理由”このアプローチは、次の理由により安全です:
- 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”
資格情報が見つかりません”If the build says no credentials were 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_BASE64run:ターミナル画面 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 コミュニティ
- 📧 メール: capgo@app
Managing Credentials から続けて
Managing Credentials から続けてのセクション__CAPGO_KEEP_1__が使用されている場合 __CAPGO_KEEP_1__を使用してCI/CDの自動化を計画する場合、__CAPGO_KEEP_0__ CI/CD __CAPGO_KEEP_0__ CI/CDの__CAPGO_KEEP_1__Native Buildsの製品ワークフロー CapgoNative Buildsの__CAPGO_KEEP_1__CI/CDのワークフロー Capgo CI/CDの__CAPGO_KEEP_1__Native Buildsのワークフロー Capgo CI/CDの__CAPGO_KEEP_1__Native Buildsのワークフロー 製品ワークフローにおけるCapgoネイティブビルドの Capgo統合 製品ワークフローにおけるCapgo統合の CI/CD統合 CI/CD統合の実装詳細、および GitHubアクション統合 実装詳細におけるGitHubアクション統合の