資格情報の管理
このプラグインのインストール手順と完全なマークダウンガイドを含むセットアップ用の質問をコピーしてください。
iOSとAndroidのビルドクレデンシャルを、便利なクラウドビルドのためにローカルに管理してください。
Capgo CLIはビルドクレデンシャルを ローカルに保存します — Capgoのサーバーには保存されません。 デフォルトでは、すべてのプロジェクトで共有される1つのグローバルファイルに保存されます。 __CAPGO_KEEP_0__をプロジェクトごとに保存するには ~/.capgo-credentials/credentials.json__CAPGO_KEEP_1__を使用してください。 --local __CAPGO_KEEP_1__を使用してプロジェクトごとに保存するには __CAPGO_KEEP_0__を使用してください。 __CAPGO_KEEP_0__を使用してプロジェクトごとに保存するには .capgo-credentials.json Capgo
コマンド
セクション「コマンド」クレデンシャルをインタラクティブに管理する
セクション「クレデンシャルをインタラクティブに管理する」保存されたクレデンシャルと仕事を迅速に実行するには、インタラクティブ マネージャが最適です。TUI (同じもの)を開きます build init ここでは、保存されたものを参照できます。アプリとプラットフォームごとに設定されているものを確認し、CI/CD用のファイルにエクスポートするか、プラットフォームのクレデンシャルを削除することができます。 .env ターミナル画面
bunx @capgo/cli@latest build credentials manage| 説明 | __CAPGO_KEEP_0__ |
|---|---|
--appId <appId> | Appを管理するアプリ (省略した場合は選択肢を提示します) |
--platform <ios|android> | プラットフォームを管理する (省略した場合は選択肢を提示します) |
--local | プロジェクトごとに使用する .capgo-credentials.json グローバルファイルではなく |
一時的なスクリプトでコマンドを実行したい場合は、以下の個別のコマンドを使用してください。
クレデンシャルを保存
「クレデンシャルを保存」セクション自動的に使用できるようにローカルにビルドクレデンシャルを保存します。
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]クレデンシャルを更新
「クレデンシャルを更新」セクション__CAPGO_KEEP_0__を部分的に更新して、すべてを再提供する必要がなくなる:
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]__CAPGO_KEEP_1__は、プロビジョニング プロファイルの追加マージを使用します — 新しいプロファイルは既存のプロファイルとマージされます。プロビジョニング マップ全体を置き換える場合は、 update __CAPGO_KEEP_2__ — 既存の資格情報に拡張プロファイルを追加する例: __CAPGO_KEEP_0__ウィンドウ __CAPGO_KEEP_0__をクリップボードにコピー --overwrite-ios-provisioning-map.
__CAPGO_KEEP_1__コマンドは、__CAPGO_KEEP_2__と同じオプションを受け付けるが、すべてはオプションです — 提供されたフィールドのみが更新されます。
bunx @capgo/cli@latest build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"__CAPGO_KEEP_5__ save __CAPGO_KEEP_6__
List Credentials
Section titled “List Credentials”View currently saved credentials (passwords are masked):
bunx @capgo/cli@latest build credentials list
# List credentials for a specific appbunx @capgo/cli@latest build credentials list --appId com.example.appClear Credentials
Section titled “Clear Credentials”Remove saved credentials from your local machine:
# 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 iosMigrate Credentials
Section titled “Migrate Credentials”__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_2__ __CAPGO_KEEP_2__ __CAPGO_KEEP_2__
__CAPGO_KEEP_2__
__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 Issuer ID (UUID) | 注記¹を参照 |
--apple-team-id <id> | App Store Connect Team ID | Yes |
--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 (default) または ad_hoc | いいえ |
--output-upload | Capgo ビルドアーティファクトの時間制限付きダウンロードリンクを有効にします | いいえ (デフォルト: false) |
--output-retention <seconds> | __CAPGO_KEEP_0__ ビルド出力の保持期間 (例: 3600s) | いいえ (デフォルト: 3600s) |
--skip-build-number-bump | 自動ビルド番号インクリメントをスキップ | ¹ App Store Connect __CAPGO_KEEP_0__ キー要件 |
iOSアプリの保存されるデータ
セクションのタイトル:「保存されるデータ」iOS認証情報を保存すると、CLI:
- 証明書とプロビジョニングプロファイルファイルを読み取ります
- base64エンコードに変換します
- 保存先
~/.capgo-credentials/credentials.json(または.capgo-credentials.json__CAPGO_KEEP_0__--local) - パスワードとIDを平文(ローカルファイルのみ)で保存します
__CAPGO_KEEP_1__
{ "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" }}__CAPGO_KEEP_3__
__CAPGO_KEEP_4__完全な例
セクション「完全な例」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> | キーアリセンスファイル | Yes (release) |
--keystore-key-password <password> | キーアライアスのパスワード | Yes (release) |
--keystore-store-password <password> | キーストアのパスワード | Yes (release) |
--play-config <path> | Playストアサービスアカウント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 listExample output:
📋 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.Security Best Practices
Section titled “Security Best Practices”Local Storage Security
Section titled “Local Storage Security”-
File Permissions
Terminal window # Global credentials directory + filechmod 700 ~/.capgo-credentialschmod 600 ~/.capgo-credentials/credentials.json# Local (per-project) credentials, if you use --localchmod 600 .capgo-credentials.json -
Never Commit Credentials
Terminal window # Ignore the per-project credentials file (used with --local)echo ".capgo-credentials.json" >> .gitignoreグローバルファイルは、ホームディレクトリの外側のリポジトリ内にあります。
-
保護された資格情報
- ローカル開発用とCI/CD用の資格情報を分離する
- 資格情報を定期的にローテートする
- チームメンバー間で資格情報を共有しない
CI/CDの使用方法
CI/CDの使用方法CI/CD環境の場合、 環境変数を保存された資格情報よりも優先する 環境変数をエクスポートする
(推奨) .env (recommended)
セクションのタイトル “エクスポートするための準備された .env (推奨)”各クレデンシャルファイルを手動で base64 エンコードするのではなく (下記を参照)、 下記、ファイルを自動生成してください: build credentials manage ターミナル画面
bunx @capgo/cli@latest build credentials manage# pick your app → choose "Export to .env") を書き込むことができます。これには、保存済みのすべてのクレデンシャルを環境変数として含むファイルが含まれます。各行は、CI/CD プロバイダーに追加するシークレットです。両方のプラットフォームがデフォルトで組み込まれているため、 .env.capgo.<appId>.<platform> または 0600を使用して、1 つにスコープすることができます。 --platform ios export --platform android 下記
コミットしないでください。
環境変数の完全なリファレンスThe CLI reads the following environment variables for credentials:
__CAPGO_KEEP_0__は、以下の環境変数を読み取ります。
| iOSのクレデンシャル: | 変数 | 説明 | フォーマット |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | P12/PKCS12 certificate for code signing | Base64 | リリース用(Yes) |
CAPGO_IOS_PROVISIONING_MAP | アプリケーションIDとプロビジョニングプロファイルデータのJSONマップ | JSON文字列 | リリース用(Yes) |
P12_PASSWORD | P12証明書のパスワード | 平文 | 任意 |
APPLE_KEY_ID | App Store Connect API Key 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 チーム ID | 文字列(例:「XXXXXXXXXX」) | Yes |
CAPGO_IOS_DISTRIBUTION | 配布モード: app_store (標準) または ad_hoc | 文字列 | No |
Androidのクレデンシャル:
| 変数 | 説明 | フォーマット | 必要 |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | APK/AABの署名用キーストアファイル | Base64 | Yes (リリース) |
KEYSTORE_KEY_ALIAS | キーストア内のキーアリセイ | 文字列 | Yes (リリース) |
KEYSTORE_KEY_PASSWORD | __CAPGO_KEEP_0__ | Plain text | Yes* |
KEYSTORE_STORE_PASSWORD | __CAPGO_KEEP_0__ | Plain text | Yes* |
PLAY_CONFIG_JSON | Google Play service account JSON | Base64 | Yes ( |
* KEYSTORE_KEY_PASSWORD __CAPGO_KEEP_0__ KEYSTORE_STORE_PASSWORD.
GitHub Actions Example
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 }}CI/CD シークレット用に Base64 に変換する
セクション: CI/CD シークレット用に 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.txtWhy Environment Variables Are More Secure
環境変数のセキュリティThis approach is more secure because:
- CI/CDプラットフォームでシークレットを管理
- ランナー上にクレデンシャルファイルがない
- シークレットのローテーションとアクセス制御が簡単
- シークレットの使用履歴
クレデンシャルローテーション
クレデンシャルローテーション定期的にクレデンシャルをローテーションする
- iOS: 年に1回新しい証明書とAPIキーの生成
- Android年次に1回のキーストアパスワードの変更
- チームの変更後チームメンバーが退職したときにローテート
保存されたクレデンシャルを更新
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...トラブルシューティング
トラブルシューティングクレデンシャルが見つかりません
クレデンシャルが見つかりませんビルドがクレデンシャルが見つからないと表示される場合:
-
__CAPGO_KEEP_0__を保存されているか確認します:
__CAPGO_KEEP_1__ウィンドウ bunx @capgo/cli@latest build credentials list -
__CAPGO_KEEP_0__が存在しない場合に保存:
__CAPGO_KEEP_1__ウィンドウ bunx @capgo/cli@latest build credentials save --platform ios ... -
__CAPGO_KEEP_0__が存在するかどうかを確認します:
__CAPGO_KEEP_1__ウィンドウ ls -la ~/.capgo-credentials/credentials.json # globalls -la .capgo-credentials.json # local (--local)
__CAPGO_KEEP_0__を読み込む際に「許可されていません」というエラーが発生します
__CAPGO_KEEP_3__「許可されていません」というエラーが発生する場合のセクション__CAPGO_KEEP_4__ファイルの権限を修正:
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
ファイルの場所
「ファイルの場所」というセクションクレデンシャルは、1 つの JSON ファイルに保存されます:
- グローバル (デフォルト):
~/.capgo-credentials/credentials.jsonすべてのプロジェクトに共有されます - ローカル (with
--local):.capgo-credentials.jsonプロジェクトのルートディレクトリ — そのプロジェクトごとにグローバルファイルを上書きします
自動的に最初にクレデンシャルを保存するとファイルが作成されます。追加 .capgo-credentials.json プロジェクトごとにクレデンシャルはコミットされません。 .gitignore 次のステップ
セクションのタイトル “次のステップ”
Getting Started- - 最初のビルドを作成する iOS ビルド
- - iOS に特化したビルド設定 Android ビルド
- - Android に特化したビルド設定 __CAPGO_KEEP_0__
- トラブルシューティング - 共通の問題と解決策
お困ですか?
「お困ですか?」というセクション- 📚 トラブルシューティング ガイド
- 💬 Discord コミュニティ
- 📧 メール: support@capgo.app
Managing Credential から続けて
「Managing Credential から続けて」というセクションあなたは Managing Credential CI/CD自動化を計画するには、 Capgo CI/CD Capgo CI/CDの製品ワークフロー Capgoネイティブビルド Capgoネイティブビルドの製品ワークフロー Capgo統合 Capgo統合の製品ワークフロー CI/CD統合 CI/CD統合の実装詳細 GitHubアクション統合 GitHubアクション統合の実装詳細