資格情報の管理
このプラグインのインストール手順とマークダウンガイドの全てを含む設定プロンプトをコピーする
iOSおよびAndroidのビルドクレデンシャルをローカルに管理して、便利なクラウドビルドを実行できます。
Capgo CLIはビルドクレデンシャルを保存します コンピューターに — Capgoのサーバーには保存されません。デフォルトでは、すべてのプロジェクトで共有される1つのファイルに保存されます。パス をプロジェクトごとに保存する グローバル ~/.capgo-credentials/credentials.jsonファイル --local , プロジェクトごとに 日本語 .capgo-credentials.json 代わりに、ビルドを実行すると、保存された資格情報が自動的に使用され、安全にCapgoに送信され、ビルドが完了すると削除されます。
コマンド
セクション "コマンド"クレデンシャルをインタラクティブに管理
セクション "クレデンシャルをインタラクティブに管理"保存されたクレデンシャルと効果的に作業する最速の方法は、インタラクティブ マネージャです。TUI (同じものを使用) を開き、保存されているものを参照できます。アプリとプラットフォームごとに設定されているものを確認できます。CI/CD用のファイルをエクスポートするか、プラットフォームのクレデンシャルを削除できます: build init ターミナル画面 .env コピー
bunx @capgo/cli@latest build credentials manage| セクション "コマンド" | 説明 |
|---|---|
--appId <appId> | アプリケーションを管理する (省略した場合に選択肢を提示します) |
--platform <ios|android> | プラットフォームを管理する (省略した場合に選択肢を提示します) |
--local | プロジェクトごとに使用する .capgo-credentials.json グローバルファイルではなく |
1回限りのスクリプトでコマンドを使用することを推奨します。以下の個別のコマンドを使用してください。
資格情報を保存
「資格情報を保存」セクション自動的に使用できるように資格情報をローカルに保存してください:
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]コンテキスト: Capgo マーケティング ウェブサイト。役割: UI ラベル。表示される場所: page agents/[slug].astro。メッセージキー `agents_page_copy_label` (Agents Page Copy Label)。
セクションのタイトル “資格情報の更新”既存の資格情報の一部を更新するには、すべて再入力する必要はありません:
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]The 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ページ/エリア: Capgo マーケティング ウェブサイト。役割: UI ラベル。表示される場所: ページエージェント/[slug].astro。メッセージキー `agents_page_copy_label` (エージェント ページ コピー ラベル)。
資格情報をクリア「資格情報をクリア」のセクション
# 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ローカルマシンから保存された資格情報を削除します。
セクションのタイトルは「Migrate Credentials」レガシーのシングルプロファイル形式を新しいマルチターゲット形式に変換します:
bunx @capgo/cli@latest build credentials migrate --platform iosマイグレーションコマンドは古い BUILD_PROVISION_PROFILE_BASE64 資格情報を検出し、 CAPGO_IOS_PROVISIONING_MAPそれらを新しい形式に変換し、 レガシーのキーを削除します。詳細は 「Single Profile からマルチターゲットへのマイグレーション」を参照してください。
「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オプション| Option | 説明 | 必要 |
|---|---|---|
--certificate <path> | .p12 証明書ファイルへのパス | はい (リリース) |
--p12-password <password> | .p12 証明書のパスワード | はい (リリース) |
--ios-provisioning-profile <mapping> | プロビジョニング プロファイルのマッピング (bundleId=path複数のターゲット アプリに対して繰り返し可能です。1 つのプロファイルしかない場合、Bundle ID のプレフィックスがなければ、CLI はプロファイルから自動で推測します。 | はい (リリース) |
--apple-key <path> | App Store Connect API .p8 キーのパス | 注釈¹ を参照してください |
--apple-key-id <id> | App Store Connect API キー ID | ¹を参照してください。 |
--apple-issuer-id <id> | App Store Connect API 発行者ID (UUID) | ¹を参照してください。 |
--apple-team-id <id> | App Store Connect チームID | Yes |
--apple-id <email> | アプリ固有パスワードアップロード用のApple IDメールアドレス(APIキー代替) | ²の注記を参照してください。 |
--apple-app-specific-password <password> | ²を参照してください。xxxx-xxxx-xxxx-xxxx) | ²の注記を参照してください。 |
--apple-app-id <id> | アプリ固有のパスワード( 1234567890) | ²の注記を参照してください。 |
--ios-distribution <mode> | 数字のApp Store ConnectアプリID(例えば」、「配布モード:」 app_store (デフォルト)または ad_hoc | なし |
--output-upload | Capgo ダウンロードリンクの有効期間を設定します。 | なし(デフォルト: false) |
--output-retention <seconds> | ビルド出力の有効期間(例えば 3600s) | なし(デフォルト: 3600s) |
--skip-build-number-bump | 自動ビルド番号のインクリメントをスキップ | なし |
App Store Connectの__CAPGO_KEEP_0__キー (
App Store Connectの__CAPGO_KEEP_0__キー (App Store ConnectのCLIキー (
- App Store Connectの__CAPGO_KEEP_0__キー (
- App Store Connectの__CAPGO_KEEP_0__キー (
- App Store Connectの__CAPGO_KEEP_0__キー (
~/.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.jsonコンテキスト: Capgoのマーケティングサイト。役割: UIラベル。表示場所: page agents/[slug].astro。メッセージキー `agents_page_copy_label` (Agents Page Copy Label)。
Androidオプション| 「Androidオプション」 | オプション | 説明 |
|---|---|---|
--keystore <path> | 必須 | キーストアファイル(.keystoreまたは.jks)へのパス |
--keystore-alias <alias> | キーストア内のキー アリーサlias | はい (リリース) |
--keystore-key-password <password> | キー アリーサliasのパスワード | はい (リリース) |
--keystore-store-password <password> | キーストアのパスワード | はい (リリース) |
--play-config <path> | Play Store サービス アカウント JSON のパス | はい (提出) |
保存されるもの
「保存されるもの」セクションAndroid 認証情報を保存すると、CLI:
- キーストアとサービス アカウント JSON ファイルを読み取ります
- Base64エンコードに変換します。
- 保存します。
~/.capgo-credentials/credentials.json(または.capgo-credentials.jsonwith--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 マーケティング ウェブサイト。役割: UI ラベル。表示される場所: ページエージェント/[slug].astro。メッセージキー `agents_page_copy_label` (エージェント ページ コピー ラベル)。
- 優先順位の順序:
- 環境変数(最高優先順位)
~/.capgo-credentials/credentials.json保存済みの資格情報(.capgo-credentials.json) - 、またはローカル
資格情報なし(最低優先順位)
保存済みの資格情報を表示セクションのタイトル “保存済みの資格情報を表示”
bunx @capgo/cli@latest build credentials list__CAPGO_KEEP_0__
📋 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使用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 プロバイダーに追加するシークレットです。両方のプラットフォームはデフォルトで組み込まれています。 0600または --platform ios or --platform android スコープを1つに設定する。
環境変数の完全なリファレンス
「環境変数の完全なリファレンス」のセクションCLIは、以下の環境変数を読み取ります。
iOSの認証情報:
| 変数 | 説明 | フォーマット | 必要 |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | codeの署名用P12/PKCS12証明書 | Base64 | はい (リリース) |
CAPGO_IOS_PROVISIONING_MAP | __CAPGO_KEEP_0__バンドルIDとプロビジョニングプロファイルデータのJSONマップ | JSON文字列 | はい (リリース) |
P12_PASSWORD | __CAPGO_KEEP_0__証明書のパスワード | 平文 | 任意 |
APPLE_KEY_ID | API App Store Connect キー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」) | はい |
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 Actions Examplename: 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値の準備
__CAPGO_KEEP_0__ Actions ExampleBase64値の準備
# 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: 年に 1 回新しい証明書と API キーを生成する
- Android: 年に 1 回キーストアのパスワードを変更する
- チームの変更後: チームのメンバーが退職したときにローテートする
保存済みの資格情報を更新する:
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...Troubleshooting
トラブルシューティングコンテキスト: サポート / プレミアム サポート ページまたはフッター サポート セクション。役割: セクションまたはページ ヘッダー。表示される場所: page support-policy.astro。メッセージキー `support_policy_troubleshooting_title` (Support Policy Troubleshooting Title)。
トラブルシューティング セクションのタイトルです。ビルドが資格情報が見つからないと表示する場合:
-
資格情報が保存されているか確認する:
ターミナルウィンドウ 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), 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
ファイルの場所
セクション「ファイルの場所」資格情報は、1 つの 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の製品ワークフローにおけるCapgo CI/CDのために Capgo ネイティブビルド 製品ワークフローにおけるCapgo ネイティブビルド Capgo インテグレーション 製品ワークフローにおけるCapgo インテグレーション CI/CD インテグレーション CI/CD インテグレーション GitHub アクション統合 GitHub アクションズ インテグレーション