クレデンシャルを管理する
インストール手順とこのプラグインの全てのマークダウン ガイドを含む設定プロンプトをコピーする
iOSおよびAndroidのビルドクレデンシャルをローカルに管理して、便利なクラウドビルドを実行できます。
Capgo CLIでは、ローカルにマシン上のフォルダにビルドクレデンシャルを保存することができます。このフォルダに保存されたクレデンシャルは、ビルドを実行すると自動的に使用され、安全にCapgoのビルドサーバーに送信されます。 .capgo-credentials folder. When you run a build, these credentials are automatically used and sent securely to Capgo’s build servers.
コマンド
セクション「コマンド」資格情報を保存
セクション「資格情報を保存」自動的に使用できるようにローカルにビルド資格情報を保存してください。
npx @capgo/cli build credentials save --platform <ios|android> [options]資格情報を更新
セクション「資格情報を更新」既存の資格情報の一部を更新するには、すべて再入力する必要はありません。
npx @capgo/cli build credentials update --platform <ios|android> [options]The update command uses additive merge for provisioning profiles — new profiles are merged with existing ones. --overwrite-ios-provisioning-map.
To replace the entire provisioning map instead, add
npx @capgo/cli build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"Copy to clipboard save The update command accepts the same options as
but all are optional — only the fields you provide are updated.
List CredentialsSection titled “List Credentials” is translated to “保存済みの資格情報の一覧” in Japanese, however, for the sake of this task, I will use the original text: “Section titled “List Credentials””
npx @capgo/cli build credentials list
# List credentials for a specific appnpx @capgo/cli build credentials list --appId com.example.appクレデンシャルをクリア
クレデンシャルをクリアローカルマシンから保存されたクレデンシャルを削除します。
# Clear all credentialsnpx @capgo/cli build credentials clear
# Clear credentials for a specific app + platformnpx @capgo/cli build credentials clear --appId com.example.app --platform iosクレデンシャルを移行
クレデンシャルを移行レガシーシングルプロファイル形式を新しいマルチターゲット形式に変換します。
npx @capgo/cli build credentials migrate --platform iosMigrateコマンドは古い BUILD_PROVISION_PROFILE_BASE64 資格情報を検出、 CAPGO_IOS_PROVISIONING_MAPそれらを に変換し、 レガシーキーを削除します。詳細は
Single Profileからマイグレーション
を参照してください。完全な例
「完全な例」のセクションnpx @capgo/cli 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ファイルのパスワード | はい (リリース) |
--ios-provisioning-profile <mapping> | プロビジョニングプロファイルのマッピング (bundleId=path). 複数のターゲットアプリに対して繰り返し可能です。 1 つのプロファイルと bundleId のプレフィックスがなければ、CLI はプロファイルから自動で推測します。 | はい (リリース) |
--apple-key <path> | API の App Store Connect .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 | はい |
--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フォルダ - パスワードと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の資格情報を保存する」というセクション完全な例
「完全な例」npx @capgo/cli 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> | __CAPGO_KEEP_0__ | リリース用 |
--keystore-alias <alias> | __CAPGO_KEEP_1__ | リリース用 |
--keystore-key-password <password> | __CAPGO_KEEP_2__ | リリース用 |
--keystore-store-password <password> | __CAPGO_KEEP_3__ | リリース用 |
--play-config <path> | __CAPGO_KEEP_4__ | はい (提出) |
何が保存されるか
「何が保存されるか」というセクションAndroid の資格情報を保存すると、次のようになります: CLI
- キーストアとサービス アカウントの JSON ファイルを読み取ります
- それらを base64 エンコードに変換します
- 資格情報を保存します
.capgo-credentialsフォルダ - パスワードとエイリアスを、ローカル ファイルのみで平文で保存します
保存されたファイル構造:
{ "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 foldernpx @capgo/cli build com.example.app --platform ios環境変数を使用して保存済みの資格情報を上書きすることもできます。
# Environment variables take precedence over saved credentialsBUILD_CERTIFICATE_BASE64="..." \P12_PASSWORD="different-password" \npx @capgo/cli build com.example.app --platform ios優先順位の順序は次のようになります。
- 環境変数(最高優先順位)
- 保存済みの資格情報(フォルダ
.capgo-credentials資格情報なし(最低優先順位) - フォルダ
保存済みの資格情報を表示
「保存済みの資格情報を表示」セクション保存済みの資格情報の一覧を表示します。
npx @capgo/cli 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/
🔒 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.セキュリティのベストプラクティス
「セキュリティのベストプラクティス」セクションローカルストレージのセキュリティ
「ローカルストレージのセキュリティ」セクション-
ファイルのパーミッション
ターミナル画面 # Ensure credentials folder is not readable by otherschmod 700 .capgo-credentialschmod 600 .capgo-credentials/* -
クレデンシャルをコミットしない
ターミナル画面 # Add to .gitignoreecho ".capgo-credentials/" >> .gitignore -
クレデンシャルを分離する
- CI/CD環境とローカル開発用のクレデンシャルを分ける
- 定期的にクレデンシャルをローテートする
- チームメンバー間でクレデンシャルを共有しない
CI/CDの使用
CI/CDの使用CI/CD環境の場合、 環境変数を、保存された資格情報よりも優先します。 環境変数の完全なリファレンス
環境変数の完全なリファレンス
環境変数の完全なリファレンスCLIは、以下の環境変数を資格情報として読み取ります:
iOS資格情報:
| 変数 | 説明 | 形式 | 必要 |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | P12/PKCS12証明書(code署名用) | Base64 | はい (リリース) |
CAPGO_IOS_PROVISIONING_MAP | バンドル ID とプロビジョニング プロファイル データの JSON マップ | JSON 文字列 | はい (リリース) |
P12_PASSWORD | P12 証明書のパスワード | 平文 | 任意 |
APPLE_KEY_ID | App Store Connect API キー 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 Team ID | 文字列 (例:「XXXXXXXXXX」) | はい |
CAPGO_IOS_DISTRIBUTION | 配布モード: app_store (デフォルト) または ad_hoc | 文字列 | いいえ |
Android の資格情報:
| 変数 | 説明 | フォーマット | 必須 |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | __CAPGO_KEEP_0__ファイル | Base64 | はい (リリース) |
KEYSTORE_KEY_ALIAS | __CAPGO_KEEP_0__のキーアリセンス | 文字列 | はい (リリース) |
KEYSTORE_KEY_PASSWORD | __CAPGO_KEEP_0__のキーアリセンスのパスワード | 平文 | はい* |
KEYSTORE_STORE_PASSWORD | キーストアファイルのパスワード | 平文 | はい* |
PLAY_CONFIG_JSON | Google PlayサービスアカウントJSON | Base64 | はい(提出) |
*1つのパスワードのみが提供された場合、それが両方のパスワードとして使用されます KEYSTORE_KEY_PASSWORD そして KEYSTORE_STORE_PASSWORD.
GitHub アクションの例
「GitHub アクションの例」というセクションname: Cloud Build
on: push: branches: [main]
jobs: build-ios: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-node@v4 with: node-version: '20' - run: npm install - run: npx @capgo/cli build 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: actions/setup-node@v4 with: node-version: '20' - run: npm install - run: npx @capgo/cli build 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に変換するために、資格情報ファイルを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:npx @capgo/cli build credentials save --platform ios \ --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \ # ... other options# Then copy CAPGO_IOS_PROVISIONING_MAP from .capgo-credentials 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「環境変数の安全性の理由」のセクション
base64に変換すると改行が削除され、1行の文字列になります。このアプローチは、以下の理由により、より安全です。
- シークレットは、CI/CD プラットフォームによって管理されます。
- ランナー上にクレデンシャルファイルはありません。
- シークレットのローテーションとアクセス制御が容易です。
- シークレットの使用に関する監査トレイルが用意されています。
クレデンシャルローテーション
クレデンシャルローテーション定期的にクレデンシャルをローテーションしてください。
- iOS: 年に1回新しい証明書とAPIキーの生成
- Android: 年に1回キーストアのパスワードの変更
- チームの変更後: チームメンバーが退社したときに回転する
保存済みの資格情報を更新する:
# Re-run save command with new credentialsnpx @capgo/cli build credentials save --platform ios --certificate ./new-cert.p12 ...トラブルシューティング
「トラブルシューティング」のセクション”No credentials found”
資格情報が見つかりません”「資格情報が見つかりません」のセクション
-
ビルドが資格情報が見つからないと表示する場合::
資格情報が保存されているか確認する:「資格情報が保存されているか確認する」セクション参照ください。 npx @capgo/cli build credentials list -
欠落している場合にクレデンシャルを保存:
ターミナル画面 npx @capgo/cli build credentials save --platform ios ... -
クレデンシャルフォルダが存在することを確認:
ターミナル画面 ls -la .capgo-credentials/
クレデンシャルを読み込む際に「許可されていません」エラー
「クレデンシャルを読み込む際に「許可されていません」エラー」のセクションファイルのパーミッションを修正:
chmod 700 .capgo-credentialschmod 600 .capgo-credentials/*__CAPGO_KEEP_0__が使用されていない
「__CAPGO_KEEP_0__が使用されていない」セクション正しいプラットフォームが指定されているか確認してください:
# Make sure --platform matches saved credentialsnpx @capgo/cli build com.example.app --platform ios # Uses ios credentialsnpx @capgo/cli build com.example.app --platform android # Uses android credentialsクリアして再度保存
「クリアして再度保存」セクションクレデンシャルが不正確である場合:
# Clear all credentialsnpx @capgo/cli build credentials clear
# Save againnpx @capgo/cli 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)
ターミナルウィンドウ npx @capgo/cli 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)、実行:ターミナルウィンドウ npx @capgo/cli build credentials migrate --platform iosこのレガシーのシングルプロファイルを変換し、古い
CAPGO_IOS_PROVISIONING_MAPとBUILD_PROVISION_PROFILE_BASE64キーを削除します。APPLE_PROFILE_NAMEビルドをテストする -
ターミナルウィンドウ
コピーする npx @capgo/cli build com.example.app --platform ios -
(省略可能) __CAPGO_KEEP_0__
ターミナルウィンドウ unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64
ファイルの場所
「ファイルの場所」セクションクレデンシャルは、 .capgo-credentials フォルダ:
- macOS/Linux:
.capgo-credentials/(プロジェクトルートまたはホームディレクトリ内) - Windows:
.capgo-credentials\(プロジェクトルートまたはホームディレクトリ内)
フォルダは、クレデンシャルを保存する最初のときに自動的に作成されます。
- スタート - __CAPGO_KEEP_0__
- iOS ビルド - iOS のビルド設定
- Android ビルド - Android のビルド設定
- トラブルシューティング - 一般的な問題と解決策
ヘルプが必要ですか
Section titled “ヘルプが必要ですか”- 📚 トラブルシューティング ガイド
- 💬 Discordコミュニティ
- 📧 メール: サポート@capgo.app