Gérer vos identifiants
Copiez une invite de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Gérez vos clés de build iOS et Android localement pour des builds cloud faciles.
Vue d'ensemble
Sous-section intitulée « Vue d'ensemble »Capgo CLI stocke vos clés de build sur votre machine — jamais sur les serveurs de __CAPGO_KEEP_0__. — never on Capgo’s servers. By default they live in one global , partagé avec tous vos projets. ~/.capgo-credentials/credentials.jsonPasser à garder-les --local à garder par projet en .capgo-credentials.json au lieu de cela. Lorsque vous exécutez une build, les informations d'identification enregistrées sont utilisées automatiquement et envoyées de manière sécurisée à Capgo, puis supprimées après la fin de la build.
Commandes
Section intitulée « Commandes »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 fenêtre de terminal (la même que celle utilisée) 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 la CI/CD, ou supprimer les informations d'identification d'une plateforme : build init Fenêtre de terminal .env Copier dans le presse-papier
bunx @capgo/cli@latest build credentials manage| Option | Description |
|---|---|
--appId <appId> | Application à gérer (vous invite à choisir si omis) |
--platform <ios|android> | Plateforme à gérer (vous invite à choisir si omis) |
--local | Utilisez le fichier par projet .capgo-credentials.json au lieu du fichier global |
Préférez des commandes scriptables et à exécution unique ? Utilisez les commandes individuelles ci-dessous.
Enregistrer les informations d'identification
Section intitulée « Enregistrer les informations d'identification »Stockez vos informations de build locales pour un usage 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 »Mettre à jour partiellement les informations d'identification existantes sans les réinsérer intégralement :
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]Le update commande utilise la 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 — ajouter 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 identifiants
Section intitulée « Liste des identifiants »Afficher les identifiants enregistrés 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 identifiants
Section intitulée « Effacer les identifiants »Supprimer les identifiants enregistrés 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 ancien en format multi-cible nouveau :
bunx @capgo/cli@latest build credentials migrate --platform iosLa commande de migration détecte les informations d'identification anciennes, les convertit en BUILD_PROVISION_PROFILE_BASE64 et supprime les clés de legacy. Voir CAPGO_IOS_PROVISIONING_MAPMigration d'un profil unique pour plus de détails. Sauvegarder les informations d'identification iOS
Section intitulée “Sauvegarder les informations d'identification iOS”
Terminal windowExemple 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 du certificat .p12 | Correspondance de profil de provisionnement ( |
--ios-provisioning-profile <mapping> | Répétable pour les applications à cible multiple. Si seul un profil et pas de préfixe bundleId, __CAPGO_KEEP_0__ se déduit automatiquement du profil.bundleId=path). Repeatable for multi-target apps. If only one profile and no bundleId prefix, CLI auto-infers from the profile. | Chemin vers la clé .p8 d'App Store Connect __CAPGO_KEEP_0__ |
--apple-key <path> | Path to App Store Connect API .p8 key | ¹ Voir la note sur la page de documentation |
--apple-key-id <id> | App Store Connect API Clé ID | Voir la note¹ |
--apple-issuer-id <id> | App Store Connect API Identifiant émetteur (UUID) | Voir la note¹ |
--apple-team-id <id> | App Store Connect Identifiant d'équipe | Oui |
--apple-id <email> | Adresse e-mail Apple ID pour l'upload de mot de passe d'application (alternative à la clé API) | Voir la note² |
--apple-app-specific-password <password> | Mot de passe d'application («xxxx-xxxx-xxxx-xxxx) | Voir la note² |
--apple-app-id <id> | Identifiant numérique de l'application App Store Connect (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> | Combien de temps conserver les sorties de build (par exemple 3600s) | Non (par défaut : 3600s) |
--skip-build-number-bump | Ignorer l'incrémentation automatique du numéro de build | Non |
Qu'est-ce qui est stocké
Titre de la section « Qu'est-ce qui est stocké »Lorsque vous enregistrez les informations de connexion iOS, le CLI :
- Lecture des fichiers de certificat et de profil de provisionnement
- Conversion en codage base64
- S'enregistre dans les
~/.capgo-credentials/credentials.jsonou.capgo-credentials.jsonavec--local) - Stocke les mots de passe et les identifiants sous forme de texte brut (seulement des 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 identifiants Android
Section intitulée « Enregistrement des identifiants 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 | Obligatoire |
|---|---|---|
--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 (version de production) |
--play-config <path> | Chemin du fichier JSON du compte de service Google Play Store | Oui (soumission) |
Ce que l'on stocke
Section intitulée « Ce que l'on stocke »Lorsque vous sauvegardez les informations de connexion Android, le CLI:
- Lis les fichiers de clé de stockage et de compte de service JSON
- Les convertit en codage base64
- Les enregistre dans
~/.capgo-credentials/credentials.jsonou.capgo-credentials.jsonavec--local) - Enregistre les mots de passe et les alias sous forme de texte clair (seulement des fichiers locaux)
La structure du fichier stocké :
{ "android": { "ANDROID_KEYSTORE_FILE": "...", "PLAY_CONFIG_JSON": "...", "KEYSTORE_KEY_ALIAS": "my-key-alias", "KEYSTORE_KEY_PASSWORD": "...", "KEYSTORE_STORE_PASSWORD": "..." }}À l'aide des informations de connexion sauvegardées
Section intitulée « À l'aide 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 :
# Credentials automatically loaded from ~/.capgo-credentials/credentials.jsonbunx @capgo/cli@latest build request com.example.app --platform iosVous pouvez également surcharger les informations d'identification enregistré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 d'identification enregistrées (
~/.capgo-credentials/credentials.json, ou locales).capgo-credentials.json) - Aucune information d'identification (priorité la plus basse)
Afficher les informations d'identification enregistrées
Section intitulée « Afficher les informations d'identification enregistrées »Liste des informations d'identification que vous avez 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é »Sécurité des Données Stockées Localement
Section intitulée « Sécurité des Données Stockées Localement »-
Permissions de Fichier
Onglet 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 les Identifiants
Fenêtre de terminal # Ignore the per-project credentials file (used with --local)echo ".capgo-credentials.json" >> .gitignoreLe fichier global se trouve dans votre répertoire personnel, en dehors du dépôt.
-
Credentials séparées
- Utiliser des identifiants différents pour le développement local vs CI/CD
- Roter les identifiants régulièrement
- Ne pas partager les 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 d'encoder en base64 chaque fichier de clé par la main (voir ci-dessous), laissez build credentials manage le générer pour vous :
bunx @capgo/cli@latest build credentials manage# pick your app → choose "Export to .env"Ce script écrit un .env.capgo.<appId>.<platform> fichier (permissions 0600) contenant toutes les clés enregistrées sous forme de variable d'environnement — chaque ligne est une secret à ajouter à votre fournisseur CI/CD. Les deux plateformes sont combinées par défaut ; ajoutez --platform ios ou --platform android à le restreindre à un.
Référence complète des variables d'environnement
Sous-titre « Référence complète des variables d'environnement »CLI lit les variables d'environnement suivantes pour les informations d'identification :
Informations d'identification iOS :
| Variable | Description | Format | Requis |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | Certificat P12/PKCS12 pour la signature de code | Base64 | Oui (version de production) |
CAPGO_IOS_PROVISIONING_MAP | Carte JSON des identifiants de bundle vers les données de profil de provisionnement | Chaîne JSON | Oui (version de production) |
P12_PASSWORD | Mot de passe pour le certificat P12 | Texte en clair | Facultatif |
APPLE_KEY_ID | Clé ID de API d'App Store Connect | Chaîne de caractères (par exemple, « ABC1234567 ») | Voir la note¹ |
APPLE_ISSUER_ID | Identifiant émetteur App Store Connect API | Chaîne de UUID | Voir la note¹ |
APPLE_KEY_CONTENT | Clé App Store Connect API (.fichier p8 contenu) | Base64 | Voir la note¹ |
APP_STORE_CONNECT_TEAM_ID | Identifiant d'équipe Apple Developer | Chaîne de caractères (par exemple, « XXXXXXXXXX ») | Oui |
CAPGO_IOS_DISTRIBUTION | Mode de distribution : app_store (par défaut) ou ad_hoc | Chaîne | Non |
Clés Android :
| Variable | Description | Format | Obligatoire |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | Fichier de clés pour signer APK/AAB | Base64 | Oui (version de production) |
KEYSTORE_KEY_ALIAS | Alias de clé au sein du fichier de clés | Chaîne de caractères | Oui (version de sortie) |
KEYSTORE_KEY_PASSWORD | Mot de passe pour l'alias de la clé | Texte en clair | Oui* |
KEYSTORE_STORE_PASSWORD | Mot de passe pour le fichier de clé sécurisée | Texte en clair | Oui* |
PLAY_CONFIG_JSON | Compte JSON de service Google Play | Base64 | Oui (soumission) |
*Si seul un mot de passe est fourni, il sera utilisé pour les deux KEYSTORE_KEY_PASSWORD And KEYSTORE_STORE_PASSWORD.
Exemples d'actions GitHub
Section intitulée « Exemples d'actions GitHub »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 credenciaux 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
Sous-titre « 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
Rotation des Credenciaux
Sous-titre « Rotation des Credenciaux »Rotez régulièrement vos credenciaux :
- iOSGénérez de nouvelles certificats et des clés API chaque année
- AndroidChanger les mots de passe des clés de magasin annuellement
- Après les changements d'équipeRotation lorsqu'un membre de l'équipe quitte
Mettre à jour les informations de connexion enregistrées :
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...Aide et support
Section intitulée « Aide et support »« Aucune information de connexion trouvée »
Section intitulée ““Aucun mot de passe trouvé”””Si l'éditeur indique que pas de mot de passe ont été trouvés :
-
Vérifiez si les mots de passe sont sauvegardés:
Fenêtre de terminal bunx @capgo/cli@latest build credentials list -
Sauvegarder les mots de passe si ils manquent:
Fenêtre de terminal bunx @capgo/cli@latest build credentials save --platform ios ... -
Vérifiez que le fichier de mots de passe existe:
Fenêtre de terminal ls -la ~/.capgo-credentials/credentials.json # globalls -la .capgo-credentials.json # local (--local)
“Accès refusé” lors de la lecture des mots de passe
Section intitulée « Accès refusé lors de la lecture des informations d'identification »Fixez les permissions du fichier :
chmod 600 ~/.capgo-credentials/credentials.json # globalchmod 600 .capgo-credentials.json # localLes informations d'identification ne sont pas utilisées
Section intitulée « Les informations d'identification ne sont pas utilisées »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 à partir de variables d'environnement
Section intitulée « Migration à partir de variables d'environnement »Si vous utilisez actuellement des variables d'environnement, vous pouvez migrer vers des informations d'identification enregistrées :
-
Extraire vos variables d'environnement actuelles
Fenêtre de terminal echo $BUILD_CERTIFICATE_BASE64 # Verify they exist -
Décodez les fichiers base64 en fichiers originaux (si nécessaire) Fenêtre de terminal
Copier dans le presse-papier echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision -
Enregistrer à l'aide du 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 de connexion enregistrés dans l'ancien format (simple)
BUILD_PROVISION_PROFILE_BASE64Fenêtre de terminalCopier dans le presse-papier bunx @capgo/cli@latest build credentials migrate --platform ioset supprime les anciens
CAPGO_IOS_PROVISIONING_MAPetBUILD_PROVISION_PROFILE_BASE64clés.APPLE_PROFILE_NAMETester la construction -
Test de 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
Sous-titre : Emplacement du fichierLes informations d'identification sont stockées dans un seul fichier JSON :
- Globale (par défaut) :
~/.capgo-credentials/credentials.json— partagée avec tous vos projets - Local (avec
--local):.capgo-credentials.jsondans votre dossier racine du projet — remplace le fichier global pour ce projet
Le fichier est créé automatiquement la première fois que vous enregistrez des informations d'identification. Ajoutez .capgo-credentials.json à votre .gitignore afin que les informations d'identification par projet ne soient jamais commitées.
- Sous-section intitulée « Étapes suivantes » Prise en main
- - Créez votre première build Builds iOS (iOS Builds) - Configuration de build spécifique à iOS
- Constructions Android - Configuration de construction spécifique à Android
- Résolution des problèmes - Problèmes courants et solutions
Besoin d'aide?
Section intitulée « Besoin d'aide ? »- 📚 Guide de résolution des problèmes
- 💬 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-l’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 Capgo Builds natifs, Capgo Intégrations for the product workflow in Capgo Integrations, pour le flux de travail du produit dans __CAPGO_KEEP_0__ Intégrations, Intégration CI/CD contexte : Page/zone : Capgo Builder / page de produit de build natif dans le cloud. Rôle : Étiquette de navigation ou élément de navigation court. Clé de message `native_build_feature_ci_cd` (Fonctionnalité de build natif Ci Cd). Pour la détail de mise en œuvre dans Intégration CI/CD, et : « GitHub Actions Intégration » pour les détails d'implémentation dans GitHub Actions Integration.