認証情報の管理
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
クラウドでのビルドをスムーズに行うため、iOSおよびAndroidのビルド用認証情報をローカルで管理します。
Capgo CLI は、ビルド用の認証情報を お使いのマシンに保存します。 — Capgo のサーバーには決して保存されません。デフォルトでは、1つの グローバルな ファイルに保存され、 ~/.capgo-credentials/credentials.jsonすべてのプロジェクトで共有されます。プロジェクトごとに保つには --local 個別に保つには プロジェクトごとに における .capgo-credentials.json 代わりに --per-project を渡してください。ビルドを実行すると、保存された認証情報が自動的に使用され、Capgo に安全に送信された後、ビルド完了後に削除されます。
コマンド
「Commands」セクション対話型での認証情報管理
「対話型での認証情報管理」というタイトルのセクション保存された認証情報を扱う最も簡単な方法は、対話型マネージャーを使用することです。これを使用すると、TUI(既存のツールと同じもの)が起動し、 build init 保存されている情報の閲覧、アプリやプラットフォームごとの設定確認、CI/CDで利用可能なファイルの書き出し、 .env または特定のプラットフォームの認証情報の削除が可能です:
bunx @capgo/cli@latest build credentials manage| オプション | 説明 |
|---|---|
--appId <appId> | 管理するApp(未指定の場合は選択を促します) |
--platform <ios|android> | 管理するPlatform(未指定の場合は選択を促します) |
--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"updateコマンドは、以下と同じオプションを受け入れます: save ただし、すべてオプションです。指定したフィールドのみが更新されます。
認証情報一覧
「List Credentials」セクション保存されている現在の認証情報を表示します(パスワードはマスクされます):
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 iosmigrateコマンドは古い BUILD_PROVISION_PROFILE_BASE64 認証情報を検出し、変換して CAPGO_IOS_PROVISIONING_MAPレガシーキーを削除します。詳細は シングルプロファイルからの移行 をご覧ください。
iOS認証情報の保存
「Saving iOS Credentials」セクションを完全な実装例
「完全な実装例」セクション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 Options」セクション| オプション | 説明 | 必須 |
|---|---|---|
--certificate <path> | .p12証明書ファイルへのパス | はい (リリース用) |
--p12-password <password> | .p12証明書のパスワード | はい (リリース用) |
--ios-provisioning-profile <mapping> | Provisioning profileのマッピング (bundleId=path)。マルチターゲットアプリでは繰り返し指定できます。プロファイルが1つだけで bundleId のプレフィックスがない場合、CLI がプロファイルから自動的に推測します。 | はい (リリース用) |
--apple-key <path> | App Store Connect API .p8キーへのパス | 注¹を参照 |
--apple-key-id <id> | App Store Connect API Key ID | 注¹を参照 |
--apple-issuer-id <id> | App Store Connect API Issuer ID (UUID) | 注¹を参照 |
--apple-team-id <id> | App Store Connect チーム ID | はい |
--apple-id <email> | app-specific passwordでのアップロードに使うApple IDメールアドレス (API キーの代替) | 注²を参照 |
--apple-app-specific-password <password> | app-specific 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) | いいえ (デフォルト: 3600s) |
--skip-build-number-bump | ビルド番号の自動インクリメントをスキップ | いいえ |
保存されるデータ
「保存される内容」セクションiOS の認証情報を保存すると、CLI が以下を行います:
- 証明書とプロビジョニングプロファイルファイルを読み取ります
- それらをbase64形式に変換します
- それらを以下に保存します
~/.capgo-credentials/credentials.json(または.capgo-credentials.jsonを使用して--local) - パスワードと ID をプレーンテキストとして保存します(ローカルファイルのみ)
保存されるファイル構造:
{ "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 内のキーエイリアス | はい (リリース用) |
--keystore-key-password <password> | キーエイリアスのパスワード | はい (リリース用) |
--keystore-store-password <password> | Keystoreのパスワード | はい (リリース用) |
--play-config <path> | Play StoreサービスアカウントJSONのパス | はい (申請用) |
保存されるデータ
「保存される内容」セクションAndroidの認証情報を保存すると、CLIは以下の処理を行います:
- Keystoreとサービスアカウントの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グローバルファイルはリポジトリ外のホームディレクトリに保存されます。
-
認証情報の分離
- ローカル開発とCI/CDで異なる認証情報を使用してください
- 認証情報を定期的に更新してください
- チームメンバー間で認証情報を共有しないでください
CI/CDでの利用
「CI/CDでの利用」セクションCI/CD環境では、 保存された認証情報よりも 環境変数の使用を推奨します。
すぐに使える .env をエクスポート .env (推奨)
「すぐに使える .env をエクスポート(推奨)」セクション各認証ファイルを手動で base64 エンコードする代わりに(詳細は 以下), let build credentials manage 以下のファイルを生成します:
bunx @capgo/cli@latest build credentials manage# pick your app → choose "Export to .env"このファイルには、 .env.capgo.<appId>.<platform> ファイル(権限 0600) に保存されたすべての認証情報が環境変数として書き込まれます。各行が CI/CD プロバイダーに追加すべきシークレットです。デフォルトでは両方のプラットフォームが組み込まれています。特定のプラットフォームのみに限定する場合は、 --platform ios または --platform android を追加してください。
環境変数のリファレンス完全版
「環境変数のリファレンス完全版」セクションCLI は、認証情報として以下の環境変数を読み取ります:
iOS 認証情報:
| 変数 | 説明 | フォーマット | 必須 |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | code の署名用 P12/PKCS12 証明書 | Base64 | はい (リリース用) |
CAPGO_IOS_PROVISIONING_MAP | bundle IDからプロビジョニングプロファイルデータへのJSONマップ | JSON文字列 | はい (リリース用) |
P12_PASSWORD | P12証明書のパスワード | プレーンテキスト | 任意 |
APPLE_KEY_ID | App Store Connect API Key ID | 文字列(例: “ABC1234567”) | 注¹を参照 |
APPLE_ISSUER_ID | App Store Connect API Issuer 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署名用のKeystoreファイル | Base64 | はい (リリース用) |
KEYSTORE_KEY_ALIAS | Keystore内のKey alias | 文字列 | はい (リリース用) |
KEYSTORE_KEY_PASSWORD | Key aliasのパスワード | プレーンテキスト | はい* |
KEYSTORE_STORE_PASSWORD | Keystoreファイルのパスワード | プレーンテキスト | はい* |
PLAY_CONFIG_JSON | Google Play サービスアカウントの JSON | Base64 | はい (申請用) |
*パスワードが1つのみ指定された場合、両方に使用されます KEYSTORE_KEY_PASSWORD と KEYSTORE_STORE_PASSWORD.
GitHub Actions の例
「GitHub Actions の例」というセクション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プラットフォームで管理
- ランナー上に認証ファイルを残さない
- 容易なローテーションとアクセス制御
- シークレット使用の監査ログ
認証情報のローテーション
「認証情報のローテーション」というセクション定期的に認証情報をローテーションしてください:
- iOSと:毎年新しい証明書と API キーを生成する
- Androidでは:毎年 keystore のパスワードを変更する
- チーム体制に変更があった後:チームメンバーが離脱したらローテーションする
保存済みの認証情報を更新:
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...トラブルシューティング
「トラブルシューティング」セクション「認証情報が見つかりません」
「認証情報が見つかりません」というセクションビルドで「認証情報が見つかりません」と表示された場合:
-
認証情報が保存されているか確認してください:
ターミナル 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)
認証情報の読み取り時に「Permission denied」が発生する
「認証情報の読み取り時に「Permission denied」が発生する」セクションファイル権限を修正する:
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), run:ターミナル 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自動化を計画するには、次と連携してください Capgo での CI/CD 設定 Capgo CI/CDでのプロダクトワークフローについては、 Capgo Native Build Capgo Native Buildsでのプロダクトワークフローについては、 Capgo インテグレーション Capgo インテグレーションでのプロダクトワークフロー向けに、 CI/CD 連携 CI/CD Integrationの実装詳細については、 GitHub Actions 連携 GitHub Actions Integrationの実装詳細については。