Passer à la navigation

Gestion des informations d'identification

Prêt à utiliser avec Cloudflare

Capgo CLI stocke vos informations de build sur votre machine — jamais sur les serveurs de Capgo. Par défaut, elles vivent dans un fichier global, ~/.capgo-credentials/credentials.jsonpartagé par tous vos projets. --local Vous pouvez passer à les conserver par projet .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.

Gérer les informations d'identification de manière interactive

Section intitulée “Gérer les informations d'identification de manière interactive”

La manière la plus rapide de travailler avec vos informations d'identification enregistrées est le gestionnaire interactif. Il ouvre une interface de ligne de commande (TUI) (la même que celle utilisée pour les commandes) où vous pouvez parcourir ce qui est stocké, voir ce qui est configuré par application et plateforme, exporter un fichier prêt à l'emploi pour les CI/CD, ou supprimer les informations d'identification d'une plateforme : build init Fenêtre de terminal .env Copier dans le presse-papiers

Option
bunx @capgo/cli@latest build credentials manage
Manage Credentials Interactively is the quickest way to work with your saved credentials. It opens a TUI (the same one used for commands) where you can browse what’s stored, see what’s configured per app and platform, export a CI/CD-ready file, or delete a platform’s credentials:The quickest way to work with your saved credentials is the interactive manager. It opens a TUI (the same one used for commands) where you can browse what’s stored, see what’s configured per app and platform, export a CI/CD-ready file, or delete a platform’s credentials:
--appId <appId>Application pour gérer (vous invite à choisir si omis)
--platform <ios|android>Plateforme à gérer (vous invite à choisir si omis)
--localUtilisez le fichier par projet .capgo-credentials.json au lieu du fichier global

Préférez des commandes uniques et scriptables ? Utilisez les commandes individuelles ci-dessous.

Stockez vos informations de build locales pour un usage automatique :

Fenêtre de terminal
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]

Mise à jour partielle des informations d'identification existantes sans fournir tout à nouveau :

Fenêtre de terminal
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]

Le update La commande utilise une fusion additive pour les profils de provisionnement — les nouveaux profils sont fusionnés avec les anciens. Pour remplacer la carte de provisionnement entière au lieu de cela, ajoutez Exemple — ajoutez un profil d'extension aux informations d'identification existantes : Fenêtre de terminal --overwrite-ios-provisioning-map.

Copier dans le presse-papier

La commande de mise à jour accepte les mêmes options que
bunx @capgo/cli@latest build credentials update \
--platform ios \
--ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"

Mise à jour partielle des informations d'identification existantes sans fournir tout à nouveau : save Fenêtre de terminal

Afficher les identifiants enregistrés actuellement (les mots de passe sont masqués) :

Fenêtre de terminal
bunx @capgo/cli@latest build credentials list
# List credentials for a specific app
bunx @capgo/cli@latest build credentials list --appId com.example.app

Supprimer les identifiants enregistrés de votre machine locale :

Fenêtre de terminal
# 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

Convertir le format de profil unique hérité en format multi-cible :

Fenêtre de terminal
bunx @capgo/cli@latest build credentials migrate --platform ios

La commande de migration détecte les BUILD_PROVISION_PROFILE_BASE64 informations d'identification anciennes, les convertit en CAPGO_IOS_PROVISIONING_MAP, et supprime les clés de profil héritées. Voir Migration à partir d'un profil unique pour plus de détails.

Enregistrement des informations d'identification iOS

Titre de la section « Enregistrement des informations d'identification iOS »
Fenêtre de terminal
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"
OptionDescriptionObligatoire
--certificate <path>Chemin vers le fichier de certificat .p12Oui (version de production)
--p12-password <password>Mot de passe pour le certificat .p12Oui (version de production)
--ios-provisioning-profile <mapping>Correspondance de profil de provisionnement (bundleId=path). Répétable pour les applications à plusieurs cibles. Si seulement un profil et pas de préfixe bundleId, CLI infère automatiquement à partir du profil.Oui (version de production)
--apple-key <path>Chemin vers le API .p8 clé d'App Store ConnectVoir la note¹
--apple-key-id <id>Clé ID d'App Store Connect APIVoir la note¹
--apple-issuer-id <id>App Store Connect API Identifiant émetteur (UUID)Voir la note¹
--apple-team-id <id>App Store Connect Identifiant de l'équipeOui
--ios-distribution <mode>Mode de distribution : app_store ou (par défaut) ad_hocNon
--output-uploadActiver un lien de téléchargement temporaire Capgo pour l'artifact de la buildNon (par défaut : false)
--output-retention <seconds>Combien de temps conserver les sorties de build (par exemple 3600s)Non (par défaut : 3600s)
--skip-build-number-bumpIgnorer l'incrémentation automatique du numéro de buildNon

Lorsque vous enregistrez les informations de compte iOS, le CLI:

  1. Lis les fichiers de certificat et de profil de provisioning
  2. Les convertit en codage base64
  3. Les enregistre dans ~/.capgo-credentials/credentials.json ou .capgo-credentials.json Stocke les mots de passe et les identifiants en texte clair (seuls les fichiers locaux) --local)
  4. les fichiers locaux

La structure de fichier stockée :

{
"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"
}
}

Enregistrement des informations de connexion Android

Section intitulée « Enregistrement des informations de connexion Android »
Fenêtre de terminal
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
OptionDescriptionRequis
--keystore <path>Chemin vers le fichier .keystore ou .jksOui (version de production)
--keystore-alias <alias>Alias de clé dans le coffre-fortOui (version de production)
--keystore-key-password <password>Mot de passe de l'alias de cléOui (lancement)
--keystore-store-password <password>Mot de passe du coffre-fortOui (lancement)
--play-config <path>Chemin du fichier JSON du compte service Google PlayOui (soumission)

Lorsque vous enregistrez les informations de connexion Android, le CLI:

  1. Lecture des fichiers coffre-fort et JSON du compte service
  2. Conversion de ces fichiers en codage base64
  3. Enregistrement de ces fichiers dans ~/.capgo-credentials/credentials.json (ou) .capgo-credentials.json avec --local)
  4. Stocke les mots de passe et les alias sous forme de texte clair (seulement des fichiers locaux)

La structure de fichier stockée :

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

Utilisation des informations de connexion sauvegardées

Section intitulée “Utilisation des informations de connexion sauvegardées”

Une fois que vous avez enregistré vos informations de connexion, elles sont automatiquement utilisées lors de la construction :

Fenêtre de terminal
# Credentials automatically loaded from ~/.capgo-credentials/credentials.json
bunx @capgo/cli@latest build request com.example.app --platform ios

Vous pouvez également surcharger les informations de connexion sauvegardées à l'aide de variables d'environnement :

Fenêtre de terminal
# 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

Ordre de priorité :

  1. Variables d'environnement (priorité la plus élevée)
  2. Informations d'identification sauvegardées (~/.capgo-credentials/credentials.json, ou locale) .capgo-credentials.json)
  3. Aucune information d'identification (priorité la plus basse)

Afficher les informations d'identification sauvegardées

Section intitulée “Afficher les informations d'identification sauvegardées”

Liste des informations d'identification que vous avez sauvegardées :

Fenêtre de terminal
bunx @capgo/cli@latest build credentials list

Exemple de sortie :

📋 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. Permissions de Fichier

    Fenêtre de terminal
    # 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. Ne jamais Commiter les Identifiants

    Fenêtre de terminal
    # Ignore the per-project credentials file (used with --local)
    echo ".capgo-credentials.json" >> .gitignore

    Le fichier global vit dans votre répertoire personnel, en dehors du dépôt.

  3. Séparer les Identifiants

    • Utilisez des identifiants différents pour le développement local par rapport à CI/CD
    • Rotez régulièrement les identifiants
    • N'échangez pas les identifiants entre les membres de l'équipe

Pour les environnements CI/CD, préférez les variables d'environnement aux identifiants sauvegardés.

Section intitulée « Exporter un fichier .env prêt à l'emploi (recommandé) »

Au lieu de coder en base64 chaque fichier d'identifiant manuellement (voir en dessous), laissez build credentials manage générer le fichier pour vous :

Fenêtre de terminal
bunx @capgo/cli@latest build credentials manage
# pick your app → choose "Export to .env"

Il écrit un .env.capgo.<appId>.<platform> fichier (permissions 0600) contenant chaque secret enregistré sous forme de variable d'environnement — chaque ligne est un secret à ajouter à votre fournisseur CI/CD. Les deux plateformes sont combinées par défaut ; ajoutez --platform ios ou --platform android pour restreindre à une.

Référence complète des variables d'environnement

Section intitulée “Référence complète des variables d'environnement”

Le CLI lit les variables d'environnement suivantes pour les informations d'identification :

Informations d'identification iOS :

VariableDescriptionFormatRequis
BUILD_CERTIFICATE_BASE64Certificat P12/PKCS12 pour la signature de codeBase64Oui (libération)
CAPGO_IOS_PROVISIONING_MAPCarte JSON des ID de lots aux données de profil de mise en ligneChaîne JSONOui (libération)
P12_PASSWORDMot de passe pour le certificat P12Texte en clairFacultatif
APPLE_KEY_IDClé ID App Store Connect APIChaîne de caractères (par exemple, « ABC1234567 »)Voir la note¹
APPLE_ISSUER_IDID émetteur App Store Connect APIChaîne de UUIDVoir la note¹
APPLE_KEY_CONTENTClé App Store Connect API (.fichier p8 contenu)Base64Voir la note¹
APP_STORE_CONNECT_TEAM_IDID d'équipe développeur AppleChaîne (par exemple, « XXXXXXXXXX »)Oui
CAPGO_IOS_DISTRIBUTIONMode de distribution : app_store ou ad_hocChaîneNon

Informations d'identification Android :

VariableDescriptionFormatObligatoire
ANDROID_KEYSTORE_FILEFichier de clé pour la signature de l'APK/AABBase64Oui (version de production)
KEYSTORE_KEY_ALIASAlias de clé au sein du fichier de cléChaîne de caractèresOui (version de production)
KEYSTORE_KEY_PASSWORDMot de passe de l'alias de clé__CAPGO_KEEP_0__Oui*
KEYSTORE_STORE_PASSWORDMot de passe pour le fichier de clé de stockageTexte brutOui*
PLAY_CONFIG_JSONJSON de compte de service Google PlayBase64Oui (soumission)

Si seulement un mot de passe est fourni, il sera utilisé pour les deux KEYSTORE_KEY_PASSWORD et KEYSTORE_STORE_PASSWORD.

github/flux de travail/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 }}

Pour convertir vos fichiers de clés en base64 pour les secrets CI/CD :

Fenêtre de terminal
# 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

Pourquoi les variables d'environnement sont plus sécurisées

Section intitulée « Pourquoi les variables d'environnement sont plus sécurisées »

Cette approche est plus sécurisée car :

  • Les secrets sont gérés par votre plateforme CI/CD
  • Aucun fichier de credenciaux sur les exécutants
  • Rotation et contrôle d'accès faciles
  • Les traçages d'audit pour l'utilisation des secrets

Rotez régulièrement vos credenciaux :

  1. iOSGénérez de nouveaux certificats et des API clés annuellement
  2. AndroidChanger les mots de passe du keystore chaque année
  3. Après les changements d'équipe: Rotation lorsque les membres de l'équipe quittent

Mettre à jour les informations d'identification enregistrées :

Fenêtre de terminal
# Re-run save command with new credentials
bunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...

« Aucune information d'identification trouvée »

Sous-section intitulée « Aucune information d'identification trouvée »

Si l'éditeur indique qu'aucune information d'identification n'a été trouvée :

  1. Vérifiez si les informations d'identification sont enregistrées:

    Fenêtre de terminal
    bunx @capgo/cli@latest build credentials list
  2. Sauvegarder les informations d'identification si elles manquent:

    Fenêtre de terminal
    bunx @capgo/cli@latest build credentials save --platform ios ...
  3. Vérifier l'existence du fichier de données d'identification:

    Fenêtre de terminal
    ls -la ~/.capgo-credentials/credentials.json # global
    ls -la .capgo-credentials.json # local (--local)

“Accès refusé” lors de la lecture des informations d'identification

Section intitulée ““Accès refusé” lors de la lecture des informations d'identification””

Réparer les permissions du fichier :

Fenêtre de terminal
chmod 600 ~/.capgo-credentials/credentials.json # global
chmod 600 .capgo-credentials.json # local

Vérifiez que la plateforme correcte est spécifiée :

Fenêtre de terminal
# 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

Si les identifiants semblent corrompus :

Fenêtre de terminal
# Clear all credentials
bunx @capgo/cli@latest build credentials clear
# Save again
bunx @capgo/cli@latest build credentials save --platform ios ...

Si vous utilisez actuellement des variables d'environnement, vous pouvez migrer vers des informations d'identification sauvegardées :

  1. Extraire vos variables d'environnement actuelles

    Fenêtre de terminal
    echo $BUILD_CERTIFICATE_BASE64 # Verify they exist
  2. Décodez les fichiers base64 pour les restaurer dans leur forme d'origine (si nécessaire)

    Fenêtre de terminal
    echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12
    echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision
  3. Sauvegarder à l'aide de CLI

    Fenêtre de terminal
    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"

    Si vous avez des informations d'identification existantes sauvegardées dans l'ancien format (simple) BUILD_PROVISION_PROFILE_BASE64), exécutez :

    Fenêtre de terminal
    bunx @capgo/cli@latest build credentials migrate --platform ios

    Cette commande convertit le profil legacy en un CAPGO_IOS_PROVISIONING_MAP et supprime les anciens BUILD_PROVISION_PROFILE_BASE64 et APPLE_PROFILE_NAME clés.

  4. Testez la construction

    Fenêtre de terminal
    bunx @capgo/cli@latest build request com.example.app --platform ios
  5. Supprimer les variables d'environnement (facultatif)

    Fenêtre de terminal
    unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64

Les informations d'identification sont stockées dans un seul fichier JSON :

  • Globale (par défaut) : ~/.capgo-credentials/credentials.json — partagée par tous vos projets
  • Locale (avec --local): .capgo-credentials.json dans le répertoire root de votre projet — remplace le fichier global pour ce projet

Le fichier est créé automatiquement la première fois que vous enregistrez les informations d'identification. Ajoutez .capgo-credentials.json à vos .gitignore Ainsi, les informations de connexion sont jamais commitées.

Si vous utilisez Gestion des identifiants pour planifier l'automatisation CI/CD, connectez-le avec Capgo CI/CD pour le flux de produit dans Capgo CI/CD, Capgo Builds natifs pour le flux de produit dans Capgo Builds natifs, Capgo Intégrations pour le flux de produit dans Capgo Intégrations, Intégration CI/CD pour le détail d'implémentation dans Intégration CI/CD, et GitHub Intégration d'actions for the implementation detail in GitHub Actions Integration.