__CAPGO_KEEP_0__ - __CAPGO_KEEP_1__ アプリのライブ更新

資格情報の管理

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_2__
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]

__CAPGO_KEEP_4__

__CAPGO_KEEP_5__

__CAPGO_KEEP_6__

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

クレデンシャルをクリア

クレデンシャルをクリア

ローカルマシンから保存されたクレデンシャルを削除します。

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

クレデンシャルを移行

クレデンシャルを移行

レガシーシングルプロファイル形式を新しいマルチターゲット形式に変換します。

ターミナル画面
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オプション

「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 キーIDSee 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:

  1. 証明書とプロビジョニング プロファイル ファイルを読み取ります
  2. base64 エンコードに変換します
  3. ファイルを保存します ~/.capgo-credentials/credentials.json (または .capgo-credentials.json パスワードと ID を平文 (ローカル ファイルのみ) で保存します --local)
  4. 保存されたファイル構造:

クリップボードにコピー

{
"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"
}
}
ターミナルウィンドウ
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
オプション説明必須
--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: が読み込まれます。

  1. キーストアとサービス アカウント JSON ファイルを読み込みます。
  2. base64 エンコードに変換します。
  3. ファイルに保存します。 ~/.capgo-credentials/credentials.json (または .capgo-credentials.json--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

優先順位の順序:

  1. 環境変数(最高優先順位)
  2. 保存された資格情報 (~/.capgo-credentials/credentials.json、またはローカル .capgo-credentials.json)
  3. 資格情報なし(最低優先順位)

保存された資格情報のリスト:

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

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

セクション「セキュリティのベストプラクティス」

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

ローカル ストレージ セキュリティのセクション
  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 Usage

CI/CD Usage

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_BASE64codeの署名用P12/PKCS12証明書Base64はい (リリース)
CAPGO_IOS_PROVISIONING_MAPバンドルIDとプロビジョニングプロファイルデータのJSONマップJSON文字列Yes (リリース)
P12_PASSWORDP12証明書のパスワード平文任意
APPLE_KEY_IDApp Store Connect API キーID文字列(例:「ABC1234567」)注記¹を参照
APPLE_ISSUER_IDApp Store Connect API 発行者IDUUID文字列注記¹を参照
APPLE_KEY_CONTENTApp Store Connect API キー(.p8ファイル内容)Base64注釈を参照してください¹
APP_STORE_CONNECT_TEAM_IDApple Developer Team 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 アクションの例
github/ワークフローのビルド.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 }}

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: 年に一度新しい証明書とAPIキーを生成する
  2. Android: 年に一度キーストアパスワードを変更する
  3. チームの変更後: チームメンバーが退職したときにローテーションする

保存された資格情報を更新:

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

”No credentials found”

資格情報が見つかりません”

If the build says no credentials were found:

  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_BASE64run:

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

ファイルの場所

ファイルの場所

クレデンシャルは、単一のJSONファイルに保存されます:

  • グローバル (デフォルト): ~/.capgo-credentials/credentials.json すべてのプロジェクトで共有されます
  • ローカル (プロジェクトルートに --local): .capgo-credentials.json プロジェクトごとにクレデンシャルをオーバーライドします

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

次のステップ

「次のステップ」

必要な助け

「必要な助け」

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アクション統合の