コンテンツに進む

資格情報の管理

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 app
bunx @capgo/cli@latest build credentials list --appId com.example.app

ページ/エリア: Capgo マーケティング ウェブサイト。役割: UI ラベル。表示される場所: ページエージェント/[slug].astro。メッセージキー `agents_page_copy_label` (エージェント ページ コピー ラベル)。

資格情報をクリア

「資格情報をクリア」のセクション

ターミナルウィンドウ
# Clear all credentials
bunx @capgo/cli@latest build credentials clear
# Clear credentials for a specific app + platform
bunx @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 からマルチターゲットへのマイグレーション」を参照してください。

ターミナルウィンドウ
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 チームIDYes
--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-uploadCapgo ダウンロードリンクの有効期間を設定します。なし(デフォルト: 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キー (

  1. App Store Connectの__CAPGO_KEEP_0__キー (
  2. App Store Connectの__CAPGO_KEEP_0__キー (
  3. App Store Connectの__CAPGO_KEEP_0__キー ( ~/.capgo-credentials/credentials.json (または」 .capgo-credentials.json と --local)
  4. パスワードと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:

  1. キーストアとサービス アカウント JSON ファイルを読み取ります
  2. Base64エンコードに変換します。
  3. 保存します。 ~/.capgo-credentials/credentials.json (または .capgo-credentials.json with --local)
  4. と

ローカルファイルのみで、パスワードとエイリアスを平文で保存します。

{
"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.json
bunx @capgo/cli@latest build request com.example.app --platform ios

環境変数を使用して保存済みの資格情報を上書きできます:

ターミナル画面
# Environment variables take precedence over saved credentials
BUILD_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` (エージェント ページ コピー ラベル)。

  1. 優先順位の順序:
  2. 環境変数(最高優先順位)~/.capgo-credentials/credentials.json保存済みの資格情報( .capgo-credentials.json)
  3. 、またはローカル

資格情報なし(最低優先順位)

保存済みの資格情報を表示

セクションのタイトル “保存済みの資格情報を表示”

ターミナル画面
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.

セキュリティのベストプラクティス

セキュリティのベストプラクティス

ローカルストレージのセキュリティ

ローカルストレージのセキュリティ
  1. ファイルのパーミッション

    ターミナルウィンドウ
    # Global credentials directory + file
    chmod 700 ~/.capgo-credentials
    chmod 600 ~/.capgo-credentials/credentials.json
    # Local (per-project) credentials, if you use --local
    chmod 600 .capgo-credentials.json
  2. クレデンシャルをコミットしない

    ターミナルウィンドウ
    # Ignore the per-project credentials file (used with --local)
    echo ".capgo-credentials.json" >> .gitignore

    __CAPGO_KEEP_0__

  3. グローバルファイルはリポジトリ外のホームディレクトリにあります。

    • 別々の資格情報
    • ローカル開発とCI/CD用に異なる資格情報を使用する
    • 資格情報を定期的にローテートする

チームメンバー間で資格情報を共有しない

CI/CD使用

CI/CD使用 CI/CD環境用 環境変数を保存された資格情報よりも優先する

手動で各クレデンシャルファイルを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_BASE64codeの署名用P12/PKCS12証明書Base64はい (リリース)
CAPGO_IOS_PROVISIONING_MAP__CAPGO_KEEP_0__バンドルIDとプロビジョニングプロファイルデータのJSONマップJSON文字列はい (リリース)
P12_PASSWORD__CAPGO_KEEP_0__証明書のパスワード平文任意
APPLE_KEY_IDAPI App Store Connect キーID文字列 (例:「ABC1234567」)注釈を参照してください¹
APPLE_ISSUER_IDApp Store Connect API 発行者IDUUID文字列注釈を参照してください¹
APPLE_KEY_CONTENTApp Store Connect API キー (.p8ファイルの内容)Base64注釈を参照してください¹
APP_STORE_CONNECT_TEAM_IDApple Developer チームID文字列(例:「XXXXXXXXXX」)はい
CAPGO_IOS_DISTRIBUTION配布モード: app_store (標準) または ad_hoc文字列なし

Android 認証情報:

変数説明形式必要
ANDROID_KEYSTORE_FILEAPK/AAB の署名用キーストアファイルBase64はい (リリース)
KEYSTORE_KEY_ALIASキーストア内でのキーアリセイサ文字列はい (リリース)
KEYSTORE_KEY_PASSWORDキー アリースのパスワード平文はい*
KEYSTORE_STORE_PASSWORDキーストア ファイルのパスワード平文はい*
PLAY_CONFIG_JSONGoogle Play サービス アカウント JSONBase64はい (提出)

*1 つのパスワードのみが提供された場合、両方に使用される KEYSTORE_KEY_PASSWORD そして KEYSTORE_STORE_PASSWORD.

GitHub アクションの例

GitHub Actions Example
github/workflows/build.yml
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値の準備

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 JSON
base64 -i play-store-service-account.json | tr -d '\n' > play_config_base64.txt

このアプローチは次の理由で安全です:

  • シークレットはCI/CDプラットフォームによって管理されます
  • ランナー上のクレデンシャルファイルなし
  • 容易なローテーションとアクセス制御
  • シークレットの使用履歴

クレデンシャルローテーション

セクション「クレデンシャルローテーション」

定期的にクレデンシャルをローテーションしてください

  1. iOS: 年に 1 回新しい証明書と API キーを生成する
  2. Android: 年に 1 回キーストアのパスワードを変更する
  3. チームの変更後: チームのメンバーが退職したときにローテートする

保存済みの資格情報を更新する:

ターミナル画面
# Re-run save command with new credentials
bunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...

コンテキスト: サポート / プレミアム サポート ページまたはフッター サポート セクション。役割: セクションまたはページ ヘッダー。表示される場所: page support-policy.astro。メッセージキー `support_policy_troubleshooting_title` (Support Policy Troubleshooting Title)。

トラブルシューティング セクションのタイトルです。

ビルドが資格情報が見つからないと表示する場合:

  1. 資格情報が保存されているか確認する:

    ターミナルウィンドウ
    bunx @capgo/cli@latest build credentials list
  2. 資格情報を保存する:

    ターミナルウィンドウ
    bunx @capgo/cli@latest build credentials save --platform ios ...
  3. 資格情報ファイルが存在することを確認する:

    ターミナルウィンドウ
    ls -la ~/.capgo-credentials/credentials.json # global
    ls -la .capgo-credentials.json # local (--local)

資格情報を読み込むときに「許可されていません」というエラーが発生する

「許可されていません」というエラーが発生するときの資格情報の読み込み

ファイルのパーミッションを修正:

ターミナルウィンドウ
chmod 600 ~/.capgo-credentials/credentials.json # global
chmod 600 .capgo-credentials.json # local

使用されていない資格情報

資格情報の使用されていないセクション

正しいプラットフォームが指定されていることを確認:

ターミナルウィンドウ
# Make sure --platform matches saved credentials
bunx @capgo/cli@latest build request com.example.app --platform ios # Uses ios credentials
bunx @capgo/cli@latest build request com.example.app --platform android # Uses android credentials

資格情報をクリアし、再保存

資格情報の使用されていないセクション

資格情報が不正な場合:

ターミナルウィンドウ
# Clear all credentials
bunx @capgo/cli@latest build credentials clear
# Save again
bunx @capgo/cli@latest build credentials save --platform ios ...

環境変数から移行する

環境変数から移行する

環境変数を現在使用している場合、保存済みの資格情報に移行できます。

  1. 現在の環境変数を抽出する

    ターミナル画面
    echo $BUILD_CERTIFICATE_BASE64 # Verify they exist
  2. base64ファイルを元のファイルに復元する 必要に応じて

    ターミナル画面
    echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12
    echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision
  3. 保存する(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 キー

  4. ビルドをテストしてください

    ターミナル画面
    bunx @capgo/cli@latest build request com.example.app --platform ios
  5. 環境変数を削除 (任意)

    ターミナル画面
    unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64

資格情報は、1 つの JSON ファイルに保存されます:

  • グローバル (デフォルト): ~/.capgo-credentials/credentials.json すべてのプロジェクトで共有されます
  • ローカル プロジェクトルート内に --local): .capgo-credentials.json プロジェクトルート内に — そのプロジェクトごとにグローバルファイルを上書きします

ファイルは、最初にクレデンシャルを保存したときに自動的に作成されます。追加 .capgo-credentials.json プロジェクトに .gitignore したがって、プロジェクトごとのクレデンシャルは、どの時でもコミットされません。

必要な支援?

「必要な支援?」

クレデンシャルを管理するから続けて

「クレデンシャルを管理するから続けて」

あなたは「 CI/CD管理 CI/CDをCI/CD自動化の計画に接続する Capgo CI/CD Capgoの製品ワークフローにおけるCapgo CI/CDのために Capgo ネイティブビルド 製品ワークフローにおけるCapgo ネイティブビルド Capgo インテグレーション 製品ワークフローにおけるCapgo インテグレーション CI/CD インテグレーション CI/CD インテグレーション GitHub アクション統合 GitHub アクションズ インテグレーション