Gestion des informations d'identification
Copiez un prompt de configuration avec les étapes d'installation et la guide markdown complet pour ce plugin.
Gérez vos identifiants de build iOS et Android localement pour des builds cloud faciles.
Vue d'ensemble
Section intitulée « Vue d'ensemble »Capgo CLI stocke vos identifiants de build sur votre machine — jamais sur les serveurs de Capgo. Par défaut, ils vivent dans un fichier global, partagé par tous vos projets. Passer ~/.capgo-credentials/credentials.jsonpour les conserver --local par projet au lieu de cela. Lorsque vous exécutez une construction, les informations d'identification enregistrées sont utilisées automatiquement et envoyées de manière sécurisée à __CAPGO_KEEP_0__, puis supprimées après la fin de la construction. Besoin d'aide pour obtenir des informations d'identification ? .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.
Commandes
Section intitulée “Commandes”Gérer les identifiants de manière interactive
Gérer les informations d'identification de manière interactiveLa 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 par build init utilise) 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 : .env Fenêtre de terminal
bunx @capgo/cli@latest build credentials manage| Description | Application à gérer (vous invite à choisir si omis) |
|---|---|
--appId <appId> | Plateforme à gérer (vous invite si omis) |
--platform <ios|android> | Utiliser le fichier par projet |
--local | au lieu du fichier global .capgo-credentials.json Utilisez au lieu du fichier global |
Préférez-vous des commandes scriptables une fois pour toutes ? Utilisez les commandes individuelles ci-dessous.
Sauvegarder les informations d'identification
Section intitulée “Sauvegarder les informations d'identification”Stockez vos informations de build localement pour une utilisation automatique :
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]Mettre à jour les informations d'identification
Section intitulée “Mettre à jour les informations d'identification”Mettez à jour les informations d'identification existantes sans devoir les fournir à nouveau intégralement :
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]Le update commandes utilisent 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 --overwrite-ios-provisioning-map.
Exemple — ajoutez un profil d'extension aux informations d'identification existantes :
bunx @capgo/cli@latest build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"La commande d'actualisation accepte les mêmes options que save mais toutes sont facultatives — seuls les champs que vous fournissez sont mis à jour.
Liste des informations d'identification
Section intitulée « Liste des informations d'identification »Affichez les informations d'identification enregistrées actuellement (les mots de passe sont masqués) :
bunx @capgo/cli@latest build credentials list
# List credentials for a specific appbunx @capgo/cli@latest build credentials list --appId com.example.appEffacer les informations d'identification
Section intitulée “Effacer les informations d'identification”Supprimer les informations d'identification enregistrées de votre machine locale :
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Clear credentials for a specific app + platformbunx @capgo/cli@latest build credentials clear --appId com.example.app --platform iosMigrer les informations d'identification
Section intitulée “Migrer les informations d'identification”Convertir le format de profil unique de l'ancienne version en format multi-cible de la nouvelle version :
bunx @capgo/cli@latest build credentials migrate --platform iosLa commande de migration détecte les anciennes BUILD_PROVISION_PROFILE_BASE64 informations de connexion, les convertit en CAPGO_IOS_PROVISIONING_MAP, et supprime les clés de la version legacy. Voir Migration d'un Profil Unique pour plus de détails.
Enregistrement des informations de connexion iOS
Section intitulée “Enregistrement des informations de connexion iOS”Exemple complet
Section intitulée « Exemple complet »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"Options iOS
Section intitulée « Options iOS »| Option | Description | Obligatoire |
|---|---|---|
--certificate <path> | Chemin vers le fichier de certificat .p12 | Oui (version de production) |
--p12-password <password> | Mot de passe pour le fichier de certificat .p12 | Oui (lancement) |
--ios-provisioning-profile <mapping> | Correspondance du profil de provisionnement (bundleId=path). Répétable pour les applications multi-cibles. Si seulement un profil et pas de préfixe bundleId, CLI infère automatiquement à partir du profil. | Oui (lancement) |
--apple-key <path> | Chemin du clé .p8 API App Store Connect | Voir la note¹ |
--apple-key-id <id> | ID de clé App Store Connect API | Voir la note¹ |
--apple-issuer-id <id> | ID émetteur App Store Connect API (UUID) | Voir la note¹ |
--apple-team-id <id> | ID d'équipe App Store Connect | Oui |
--apple-id <email> | Adresse e-mail Apple ID pour l'upload du mot de passe spécifique à l'application (alternative à la clé API) | Voir la note² |
--apple-app-specific-password <password> | Mot de passe spécifique à l'application (xxxx-xxxx-xxxx-xxxx) | Voir la note² |
--apple-app-id <id> | ID d'application App Store Connect numérique (par exemple 1234567890) | Voir la note² |
--ios-distribution <mode> | Mode de distribution : app_store (par défaut) ou ad_hoc | Non |
--output-upload | Activer un lien de téléchargement temporaire Capgo pour l'artifact de build | Non (par défaut : false) |
--output-retention <seconds> | Durée pendant laquelle conserver les sorties de build (par exemple 3600s) | Non (par défaut : 3600s) |
--skip-build-number-bump | Sauter l'incrémentation automatique du numéro de version | Non |
Ce qui est stocké
Section intitulée « Ce qui est stocké »Lorsque vous enregistrez les informations de connexion iOS, le CLI:
- Lis les fichiers de certificat et de profil de provisionnement
- Les convertit en codage base64
- Les enregistre dans
~/.capgo-credentials/credentials.jsonou.capgo-credentials.jsonStocke les mots de passe et les identifiants sous forme de texte (fichiers locaux uniquement)--local) - La structure de stockage des fichiers :
Copier dans le presse-papiers
{ "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" }}Enregistrer les informations de l'appareil Android
Section intitulée « Enregistrer les informations de l'appareil Android »Exemple complet
Section intitulée « Exemple complet »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.jsonOptions Android
Section intitulée “Options Android”| Option | Description | Requis |
|---|---|---|
--keystore <path> | Chemin vers le fichier .keystore ou .jks | Oui (version de production) |
--keystore-alias <alias> | Alias de clé dans le coffre-fort | Oui (version de production) |
--keystore-key-password <password> | Mot de passe pour l'alias de clé | Oui (version de production) |
--keystore-store-password <password> | Mot de passe pour le coffre-fort | Oui (lancement) |
--play-config <path> | Chemin vers le fichier JSON du compte service Google Play | Oui (soumission) |
Qu'est-ce qui est stocké
Section intitulée “Qu'est-ce qui est stocké”Lorsque vous enregistrez les informations de compte Android, le CLI:
- Lis les fichiers de clé de serveur et JSON de compte service
- Les convertit en codage base64
- Les enregistre dans
~/.capgo-credentials/credentials.jsonou.capgo-credentials.jsonavec--local) - Stocke les mots de passe et alias en texte clair (fichiers locaux uniquement)
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": "..." }}En utilisant les informations de connexion sauvegardées
Section intitulée “En utilisant les informations de connexion sauvegardées”Une fois que vous avez enregistré vos informations de connexion, elles sont automatiquement utilisées lors de la construction :
# Credentials automatically loaded from ~/.capgo-credentials/credentials.jsonbunx @capgo/cli@latest build request com.example.app --platform iosVous pouvez également surcharger les informations de connexion sauvegardées à l'aide de variables d'environnement :
# Environment variables take precedence over saved credentialsBUILD_CERTIFICATE_BASE64="..." \P12_PASSWORD="different-password" \bunx @capgo/cli@latest build request com.example.app --platform iosOrdre de priorité :
- Variables d'environnement (priorité la plus élevée)
- Informations de connexion enregistrées (
~/.capgo-credentials/credentials.json, ou local.capgo-credentials.json) - Aucune information de connexion (priorité la plus basse)
Afficher les informations de connexion enregistrées
Section intitulée “Afficher les informations de connexion enregistrées”Liste des informations de connexion enregistrées :
bunx @capgo/cli@latest build credentials listExemple 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.Meilleures pratiques de sécurité
Section intitulée “Meilleures pratiques de sécurité”Stockage Local Sécurisé
Section intitulée “Stockage Local Sécurisé”-
Permissions de Fichier
Fenêtre de Terminal # Global credentials directory + filechmod 700 ~/.capgo-credentialschmod 600 ~/.capgo-credentials/credentials.json# Local (per-project) credentials, if you use --localchmod 600 .capgo-credentials.json -
Jamais Commeter des Identifiants
Fenêtre de Terminal # Ignore the per-project credentials file (used with --local)echo ".capgo-credentials.json" >> .gitignoreLe fichier global vit dans votre répertoire personnel, en dehors du dépôt.
-
Identifiants Séparés
- Utiliser des identifiants différents pour le développement local vs CI/CD
- Roter les identifiants régulièrement
- N'exportez pas vos identifiants entre les membres de l'équipe
Utilisation CI/CD
Section intitulée « Utilisation CI/CD »Pour les environnements CI/CD, préférez les variables d'environnement aux identifiants sauvegardés.
Exporter un fichier .env prêt à l'emploi .env (recommandé)
Section intitulée « Exporter un fichier .env prêt à l'emploi (recommandé) »Au lieu de coder en base64 chaque fichier de clés par la main (voir ci-dessous), laissez build credentials manage générer le fichier pour vous :
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 toutes les informations de connexion enregistrées 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 :
| Variable | Description | Format | Obligatoire |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | Certificat P12/PKCS12 pour la signature de code | Base64 | Oui (version de production) |
CAPGO_IOS_PROVISIONING_MAP | Carte JSON des ID de bundle aux données de profil de mise en ligne | Chaîne JSON | Oui (version de sortie) |
P12_PASSWORD | Mot de passe pour le certificat P12 | Texte en clair | Facultatif |
APPLE_KEY_ID | Clé ID de l'application App Store Connect API | Chaîne de caractères (par exemple, « ABC1234567 ») | Voir la note¹ |
APPLE_ISSUER_ID | ID émetteur de l'application App Store Connect API | Chaîne de caractères UUID | Voir la note¹ |
APPLE_KEY_CONTENT | Clé de l'application App Store Connect API (.fichier p8) | Base64 | Voir la note¹ |
APP_STORE_CONNECT_TEAM_ID | ID de l'équipe du développeur Apple | Chaîne (par exemple, « XXXXXXXXXX ») | Oui |
CAPGO_IOS_DISTRIBUTION | Mode de distribution : app_store (par défaut) ou ad_hoc | Chaîne | Non |
Informations de connexion Android :
| Variable | Description | Format | Requis |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | __CAPGO_KEEP_0__ pour la signature de l'APK/AAB | Base64 | Oui (version de production) |
KEYSTORE_KEY_ALIAS | __CAPGO_KEEP_1__ au sein du __CAPGO_KEEP_0__ | Chaîne | Oui (version de production) |
KEYSTORE_KEY_PASSWORD | Mot de passe pour le __CAPGO_KEEP_1__ | Texte clair | Oui* |
KEYSTORE_STORE_PASSWORD | Mot de passe pour le __CAPGO_KEEP_0__ | Texte brut | Oui |
PLAY_CONFIG_JSON | Compte JSON de service Google Play | Base64 | Oui (soumission) |
*Si seulement un mot de passe est fourni, il sera utilisé pour les deux KEYSTORE_KEY_PASSWORD et KEYSTORE_STORE_PASSWORD.
GitHub Exemples d'actions
Section intitulée “GitHub Exemples d'actions”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 }}Préparation des valeurs Base64
Section intitulée « Préparation des valeurs Base64 »Pour convertir vos fichiers de clés en base64 pour les secrets CI/CD :
# 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 JSONbase64 -i play-store-service-account.json | tr -d '\n' > play_config_base64.txtPourquoi 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 facile
- Jalons d'audit pour l'utilisation de secrets
Rotation de Credenciaux
Section intitulée “Rotation de Credenciaux”Rotez régulièrement vos credenciaux :
- iOSGénérez de nouveaux certificats et des API clés tous les ans
- AndroidChanger les mots de passe des clés de stockage annuellement
- Après des changements d'équipeRotez lorsque les membres de l'équipe quittent
Mise à jour des informations d'identification sauvegardées :
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...Résolution des problèmes
Section intitulée « Résolution des problèmes »« Aucune information d'identification trouvée »
Section intitulée « Aucune information d'identification trouvée »Si l'éditeur indique que les informations d'identification n'ont pas été trouvées :
-
Vérifiez si les informations d'identification sont sauvegardées:
Fenêtre de terminal bunx @capgo/cli@latest build credentials list -
Sauvegardez les informations d'identification si elles manquent:
Fenêtre de terminal bunx @capgo/cli@latest build credentials save --platform ios ... -
Vérifiez que le fichier de crédentials existe:
Fenêtre de terminal ls -la ~/.capgo-credentials/credentials.json # globalls -la .capgo-credentials.json # local (--local)
“Permission refusée” lors de la lecture des crédentials
Section intitulée ““Permission refusée” lors de la lecture des crédentials”Fixer les permissions du fichier :
chmod 600 ~/.capgo-credentials/credentials.json # globalchmod 600 .capgo-credentials.json # localLes crédentials ne sont pas utilisés
Section intitulée “Les crédentials ne sont pas utilisés”Vérifiez que la plateforme correcte est spécifiée :
# Make sure --platform matches saved credentialsbunx @capgo/cli@latest build request com.example.app --platform ios # Uses ios credentialsbunx @capgo/cli@latest build request com.example.app --platform android # Uses android credentialsEffacer et réenregistrer les informations d'identification
Section intitulée « Effacer et réenregistrer les informations d'identification »Si les informations d'identification semblent corrompues :
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Save againbunx @capgo/cli@latest build credentials save --platform ios ...Migration des variables d'environnement
Section intitulée « Migration des variables d'environnement »Si vous utilisez actuellement des variables d'environnement, vous pouvez migrer vers les informations d'identification enregistrées :
-
Extrayez vos variables d'environnement actuelles
Fenêtre de terminal echo $BUILD_CERTIFICATE_BASE64 # Verify they exist -
Décodez les fichiers base64 pour les restaurer dans leur forme originale (si nécessaire)
Fenêtre de terminal echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision -
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 identifiants existants enregistrés sous la forme ancienne (simple
BUILD_PROVISION_PROFILE_BASE64Exécutez :Fenêtre de terminal bunx @capgo/cli@latest build credentials migrate --platform iosCette commande convertit le profil legacy en un
CAPGO_IOS_PROVISIONING_MAPet supprime les anciensBUILD_PROVISION_PROFILE_BASE64etAPPLE_PROFILE_NAMEclés. -
Tester la construction
Fenêtre de terminal bunx @capgo/cli@latest build request com.example.app --platform ios -
Supprimer les variables d'environnement (facultatif)
Fenêtre de terminal unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64
Emplacement du fichier
Section intitulée « Emplacement du fichier »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.jsondans votre dossier de 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 à votre .gitignore de sorte que les informations d'identification par projet ne soient jamais commitées.
Étapes suivantes
Section intitulée « Étapes suivantes »- Démarrage - Créez votre première build
- Builds iOS - Configuration de build spécifique à iOS
- Builds Android - Configuration de build spécifique à Android
- Dépannage - Problèmes courants et solutions
Aidez-moi?
Section intitulée « Aidez-moi ? »- 📚 Guide de dépannage
- 💬 Communauté Discord
- 📧 Courriel : support@capgo.app
Continuez à partir de la gestion des identifiants
Section intitulée « Continuez à partir de la gestion des identifiants »Si vous utilisez Gestion des identifiants pour planifier l'automatisation CI/CD, connectez-le avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Builds natifs pour le flux de travail du produit dans les Capgo Rendus natifs Capgo Intégrations pour le flux de travail du produit dans les Capgo Intégrations Intégration CI/CD pour le détail d'implémentation dans l'Intégration CI/CD, et GitHub Intégration d'Actions pour le détail d'implémentation dans les GitHub Intégrations d'Actions