__CAPGO_KEEP_0__アプリのリアルタイム更新

資格情報の管理

iOS と Android のビルド資格情報をローカルに管理して、便利なクラウドビルドを実行できます。

Overview

概要

Capgo CLIは、ビルドの資格情報を保存します コンピューター上 — Capgoのサーバー上ではありません。デフォルトでは、すべてのプロジェクトで共有される1つの グローバル ファイルに保存されます。 ~/.capgo-credentials/credentials.jsonを指定して、プロジェクトごとに保存する --local 代わりに。ビルドを実行すると、保存された資格情報が自動的に使用され、安全に__CAPGO_KEEP_0__に送信され、ビルドが完了したら削除されます。 per-project __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ .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.

コマンド

「コマンド」

クレデンシャルをインタラクティブに管理

「クレデンシャルをインタラクティブに管理」

保存されたクレデンシャルと一緒に作業する最速の方法は、インタラクティブ マネージャです。TUI (同じもの) を開き、保存されているものを参照できます。アプリとプラットフォームごとに設定されているものを確認し、CI/CD用のファイルにエクスポートするか、プラットフォームのクレデンシャルを削除することができます。 build init ターミナル画面 .env コピー

オプション
bunx @capgo/cli@latest build credentials manage
✅ HTTPS経由で安全に送信されました✅ HTTPS経由で安全に送信されました
--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]

The update コマンドは additive merge を使用してプロビジョニングプロファイルを取得します — 新しいプロファイルは既存のプロファイルとマージされます。プロビジョニングマップをすべて置き換える場合は、 --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 のオプションを受け付けるが、すべては省略可能です — 提供するフィールドのみが更新されます。

現在保存されている資格情報を表示します (パスワードはマスクされています):

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

__CAPGO_KEEP_0__を新しいマルチターゲット形式に変換します:

__CAPGO_KEEP_1__ウィンドウ
bunx @capgo/cli@latest build credentials migrate --platform ios

__CAPGO_KEEP_3__の古い BUILD_PROVISION_PROFILE_BASE64 __CAPGO_KEEP_4__を変換し、 CAPGO_IOS_PROVISIONING_MAP__CAPGO_KEEP_5__を削除します。 __CAPGO_KEEP_6__ __CAPGO_KEEP_7__

__CAPGO_KEEP_8__

__CAPGO_KEEP_9__

完全な例

完全な例
ターミナル画面
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"
オプション説明必須
--certificate <path>__CAPGO_KEEP_0__ の .p12 証明書ファイルのパスはい (リリース)
--p12-password <password>__CAPGO_KEEP_0__ の .p12 証明書ファイルのパスワードはい (リリース)
--ios-provisioning-profile <mapping>プロビジョニングプロファイルのマッピング (bundleId=path). 複数のターゲットアプリに対して繰り返し可能です。 1 つのプロファイルと bundleId のプレフィックスがなければ、CLI はプロファイルから自動で推測されます。はい (リリース)
--apple-key <path>App Store Connect API の .p8 キーのパス注釈¹ を参照してください
--apple-key-id <id>App Store Connect API のキーアイデンティティ注釈¹ を参照してください
--apple-issuer-id <id>App Store Connect API 発行者 ID (UUID)注記¹ を参照
--apple-team-id <id>App Store Connect チーム IDはい
--ios-distribution <mode>配布モード: app_store (デフォルト) または ad_hocいいえ
--output-uploadビルドアーティファクトの時間限り Capgo ダウンロードリンクを有効にするいいえ (デフォルト: false)
--output-retention <seconds>ビルド出力の保持期間 (例えば 3600s)いいえ (デフォルト: 3600s)
--skip-build-number-bump自動ビルド番号のインクリメントをスキップするNo

iOS 認証情報を保存するときに、CLI:

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

保存されたファイル構造:

{
"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>キーストアまたは .jks ファイルへのパスYes (リリース)
--keystore-alias <alias>キーストア内のキーアリセイYes (リリース)
--keystore-key-password <password>キーアリセイのパスワードはい (リリース)
--keystore-store-password <password>__CAPGO_KEEP_0__のキーストア用パスワードはい (リリース)
--play-config <path>Play Store サービス アカウント JSON のパスはい (提出)

CLI:が保存されるAndroidの資格情報のとき

  1. キーストアとサービス アカウント JSON ファイルを読み取り
  2. base64 エンコードに変換する
  3. 保存する ~/.capgo-credentials/credentials.json (または .capgo-credentials.json __CAPGO_KEEP_0__ --local)
  4. パスワードとエイリアスを平文(ローカルファイルのみ)で保存します

__CAPGO_KEEP_1__

{
"android": {
"ANDROID_KEYSTORE_FILE": "...",
"PLAY_CONFIG_JSON": "...",
"KEYSTORE_KEY_ALIAS": "my-key-alias",
"KEYSTORE_KEY_PASSWORD": "...",
"KEYSTORE_STORE_PASSWORD": "..."
}
}

__CAPGO_KEEP_3__

__CAPGO_KEEP_4__

__CAPGO_KEEP_5__

__CAPGO_KEEP_6__
# Credentials automatically loaded from ~/.capgo-credentials/credentials.json
bunx @capgo/cli@latest build request com.example.app --platform ios

__CAPGO_KEEP_8__

__CAPGO_KEEP_9__
# 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

Precedence order:

  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

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

  3. クレデンシャルを分離する

    • ローカル開発とCI/CD用の異なるクレデンシャルを使用する
    • 定期的にクレデンシャルをローテートする
    • チームメンバー間でクレデンシャルを共有しない

CI/CD環境の場合 環境変数を保存されたクレデンシャルよりも優先する .envファイルをエクスポートする

(see 以下)、生成するファイルを build credentials manage ターミナルウィンドウ

コピー
bunx @capgo/cli@latest build credentials manage
# pick your app → choose "Export to .env"

) には、保存されたすべてのクレデンシャルを環境変数として含むものです — 各行は、CI/CD プロバイダーに追加するシークレットです。両方のプラットフォームはデフォルトで組み込まれています。 .env.capgo.<appId>.<platform> 注意 0600注意 --platform ios または --platform android をスコープに追加します。

CLIは、以下の環境変数を読み取ります。

iOSの資格情報:

変数説明フォーマット必要
BUILD_CERTIFICATE_BASE64P12/PKCS12証明書はcodeの署名に使用されますBase64Yes (release)
CAPGO_IOS_PROVISIONING_MAPBundle ID とプロビジョニング プロファイルデータの JSON マップJSON 文字列Yes (release)
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」)Yes
CAPGO_IOS_DISTRIBUTION配布モード: app_store (デフォルト) または ad_hoc文字列No

Android の資格情報:

変数説明フォーマット必須
ANDROID_KEYSTORE_FILEAPK/AABの署名用キーストアファイルBase64Yes (release)
KEYSTORE_KEY_ALIASキーストア内キーアリース文字列Yes (release)
KEYSTORE_KEY_PASSWORDキーアリースのパスワードPlain textYes*
KEYSTORE_STORE_PASSWORD__CAPGO_KEEP_0__のキーストアファイルのパスワード平文Yes*
PLAY_CONFIG_JSONGoogle PlayサービスアカウントのJSONBase64Yes (submission)

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

.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値の準備中

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

__CAPGO_KEEP_1__

__CAPGO_KEEP_2__

このアプローチは、以下の理由により、より安全です。

  • シークレットは、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 ...

クレデンシャルが見つかりません”

クレデンシャルが見つかりません”のセクション

ビルドがクレデンシャルが見つからなかったと言っている場合:

  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)、実行:

    ターミナルウィンドウ
    bunx @capgo/cli@latest build credentials migrate --platform ios

    このレガシーのシングルプロファイルを変換し、古い CAPGO_IOS_PROVISIONING_MAPBUILD_PROVISION_PROFILE_BASE64 キーを削除します。 APPLE_PROFILE_NAME ビルドをテストする

  4. ターミナルウィンドウ

    コピーする
    bunx @capgo/cli@latest build request com.example.app --platform ios
  5. (任意) __CAPGO_KEEP_0__

    ターミナルウィンドウ
    unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64

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

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

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

必要な助けが必要ですか?

セクション:必要な助けが必要?

Keep going from Managing Credentials

セクション:Keep going from Managing Credentials

Capgo を使用している場合 Managing Credentials CI/CD オートメーションを計画するには、__CAPGO_KEEP_0__ CI/CD に接続します。 Capgo CI/CD 製品ワークフローにおけるCapgo CI/CDの Capgoネイティブビルド 製品ワークフローにおけるCapgoネイティブビルドの Capgo統合 製品ワークフローにおけるCapgo統合の CI/CD統合 CI/CD統合の実装詳細、そして GitHubアクション統合 CI/CD統合の実装詳細におけるGitHubアクション統合の