Gestion des identifiants
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce plugin.
Gérez vos identifiants de build iOS et Android en local pour faciliter vos builds cloud.
Capgo CLI stocke vos identifiants de build sur votre machine — jamais sur les serveurs de Capgo. Par défaut, ils se trouvent dans un fichier global , ~/.capgo-credentials/credentials.json, partagé entre tous vos projets. Passez --local pour les conserver par projet dans .capgo-credentials.json à la place. Lorsque vous lancez un build, les identifiants enregistrés sont utilisés automatiquement et envoyés en toute sécurité à Capgo, puis supprimés une fois le build terminé.
Commandes
Section intitulée « Commandes »Gérer les identifiants de manière interactive
Section intitulée « Gérer les credentials en interactif »Le moyen le plus rapide de gérer vos credentials enregistrés est le gestionnaire interactif. Il ouvre une TUI (la même que celle build init utilisée) où vous pouvez parcourir ce qui est stocké, voir ce qui est configuré par app et par plateforme, exporter un fichier .env fichier, ou supprimer les identifiants d’une plateforme :
bunx @capgo/cli@latest build credentials manage| Option | Description |
|---|---|
--appId <appId> | App à gérer (vous demande de choisir si non renseigné) |
--platform <ios|android> | Plateforme à gérer (demande si non renseigné) |
--local | Utiliser l'option par projet .capgo-credentials.json au lieu du fichier global |
Vous préférez des commandes ponctuelles et scriptables ? Utilisez les commandes individuelles ci-dessous.
Enregistrer les identifiants
Section titled “Save Credentials”Stockez vos identifiants de build localement pour une utilisation automatique :
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]Mettre à jour les identifiants
Section intitulée « Mettre à jour les identifiants »Mettez à jour partiellement des identifiants existants sans tout ressaisir :
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]Le update utilise la commande fusion additive pour les profils de provisionnement — les nouveaux profils sont fusionnés avec les existants. Pour remplacer l’ensemble de la carte de provisionnement, ajoutez --overwrite-ios-provisioning-map.
Exemple — ajouter un profil d’extension aux identifiants existants :
bunx @capgo/cli@latest build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"La commande update accepte les mêmes options que save mais toutes sont facultatives — seules les champs fournis sont mis à jour.
Lister les identifiants
Section intitulée « List Credentials »Afficher les identifiants enregistrés (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 « Supprimer les identifiants »Supprimez 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 identifiants
Section intitulée « Migrer les identifiants »Convertissez l'ancien format à profil unique vers le nouveau format multi-cible :
bunx @capgo/cli@latest build credentials migrate --platform iosLa commande migrate détecte les anciens BUILD_PROVISION_PROFILE_BASE64 identifiants, les convertit en CAPGO_IOS_PROVISIONING_MAP, et supprime les clés obsolètes. Voir Migration depuis un profil unique pour plus de détails.
Enregistrement des identifiants iOS
Section intitulée « Enregistrer les identifiants 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 | Requis |
|---|---|---|
--certificate <path> | Chemin du fichier de certificat .p12 | Oui (release) |
--p12-password <password> | Mot de passe du certificat .p12 | Oui (release) |
--ios-provisioning-profile <mapping> | Mapping du profil de provisionnement (bundleId=path). Répétable pour les apps multi-cibles. Si un seul profil et aucun préfixe bundleId, CLI l’infère automatiquement à partir du profil. | Oui (release) |
--apple-key <path> | Chemin de la clé .p8 API d’App Store Connect | Voir la note¹ |
--apple-key-id <id> | ID de la clé API App Store Connect | Voir la note¹ |
--apple-issuer-id <id> | ID émetteur (UUID) API d’App Store Connect | Voir la note¹ |
--apple-team-id <id> | ID d'équipe App Store Connect | Oui |
--apple-id <email> | E-mail Apple ID pour l'upload avec 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> | ID numérique de l'app App Store Connect (ex. 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 Capgo à durée limitée pour l'artefact du build | Non (par défaut : false) |
--output-retention <seconds> | Durée de conservation des artefacts de build (ex. : 3600s) | Non (par défaut : 3600s) |
--skip-build-number-bump | Ignorer l’incrémentation automatique du numéro de build | Non |
Ce qui est stocké
Section intitulée « Ce qui est stocké »Lorsque vous enregistrez des identifiants iOS, le CLI :
- Lit les fichiers de certificat et de profil de provisionnement
- Les convertit en encodage base64
- Les enregistre dans
~/.capgo-credentials/credentials.json(ou.capgo-credentials.jsonpar--local) - Stocke les mots de passe et identifiants en texte brut (fichiers locaux uniquement)
Structure du fichier stocké :
{ "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 « Enregistrer les 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 | Requis |
|---|---|---|
--keystore <path> | Chemin vers le fichier .keystore ou .jks | Oui (release) |
--keystore-alias <alias> | Alias de la clé dans le keystore | Oui (release) |
--keystore-key-password <password> | Mot de passe de l'alias de la clé | Oui (release) |
--keystore-store-password <password> | Mot de passe du keystore | Oui (release) |
--play-config <path> | Chemin du fichier JSON du compte de service Play Store | Oui (publication) |
Ce qui est stocké
Section intitulée « Ce qui est stocké »Lorsque vous enregistrez les identifiants Android, le CLI :
- Lit les fichiers keystore et JSON du compte de service
- Les convertit en encodage base64
- Les enregistre dans
~/.capgo-credentials/credentials.json(ou.capgo-credentials.jsonpar--local) - Stocke les mots de passe et l’alias en texte brut (fichiers locaux uniquement)
Structure du fichier stocké :
{ "android": { "ANDROID_KEYSTORE_FILE": "...", "PLAY_CONFIG_JSON": "...", "KEYSTORE_KEY_ALIAS": "my-key-alias", "KEYSTORE_KEY_PASSWORD": "...", "KEYSTORE_STORE_PASSWORD": "..." }}Utilisation des identifiants enregistrés
Section titled “Using Saved Credentials”Une fois les identifiants enregistrés, ils sont utilisés automatiquement lors du build :
# Credentials automatically loaded from ~/.capgo-credentials/credentials.jsonbunx @capgo/cli@latest build request com.example.app --platform iosVous pouvez également remplacer les identifiants enregistrés à 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)
- Identifiants enregistrés (
~/.capgo-credentials/credentials.json, ou locaux.capgo-credentials.json) - Aucun identifiant (priorité la plus basse)
Consultation des identifiants enregistrés
Section intitulée « Afficher les identifiants enregistrés »Listez les identifiants que vous avez enregistrés :
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.Bonnes pratiques de sécurité
Section intitulée « Bonnes pratiques de sécurité »Sécurité du stockage local
Section intitulée « Sécurité du stockage local »-
Permissions des fichiers
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 -
Ne jamais commiter d'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.
-
Séparer les identifiants
- Utiliser des identifiants différents pour le développement local et la CI/CD
- Faites pivoter vos identifiants régulièrement
- Ne partagez pas 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 enregistrés.
Exportez un fichier prêt à l’emploi .env (recommandé)
Section intitulée « Exporter un fichier .env prêt à l’emploi (recommandé) »Plutôt que d’encoder chaque fichier d’identifiants en base64 manuellement (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 chaque identifiant enregistré sous forme de variable d’environnement — chaque ligne correspond à un secret à ajouter à votre fournisseur CI/CD. Les deux plateformes sont combinées par défaut ; ajoutez --platform ios ou --platform android pour limiter la portée à l’une d’elles.
Référence complète des variables d'environnement
Section intitulée « Référence complète des variables d'environnement »CLI lit les variables d'environnement suivantes pour les identifiants :
Identifiants iOS :
| Variable | Description | Format | Requis |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | Certificat P12/PKCS12 pour la signature avec code | Base64 | Oui (release) |
CAPGO_IOS_PROVISIONING_MAP | JSON map of bundle IDs to provisioning profile data | Chaîne JSON | Oui (release) |
P12_PASSWORD | Mot de passe du certificat P12 | Texte brut | Optionnel |
APPLE_KEY_ID | ID de la clé API App Store Connect | Chaîne (ex. : « ABC1234567 ») | Voir la note¹ |
APPLE_ISSUER_ID | Identifiant émetteur API d’App Store Connect | Chaîne UUID | Voir la note¹ |
APPLE_KEY_CONTENT | Clé App Store Connect API (contenu du fichier .p8) | Base64 | Voir la note¹ |
APP_STORE_CONNECT_TEAM_ID | Team ID Apple Developer | Chaîne (ex. : « XXXXXXXX ») | Oui |
CAPGO_IOS_DISTRIBUTION | Mode de distribution : app_store (par défaut) ou ad_hoc | Chaîne | Non |
Identifiants Android :
| Variable | Description | Format | Requis |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | Fichier keystore pour la signature d’APK/AAB | Base64 | Oui (release) |
KEYSTORE_KEY_ALIAS | Alias de clé dans le keystore | Chaîne | Oui (release) |
KEYSTORE_KEY_PASSWORD | Mot de passe de l'alias de la clé | Texte brut | Oui* |
KEYSTORE_STORE_PASSWORD | Mot de passe du fichier keystore | Texte brut | Oui* |
PLAY_CONFIG_JSON | JSON du compte de service Google Play | Base64 | Oui (publication) |
*Si un seul mot de passe est fourni, il sera utilisé pour les deux KEYSTORE_KEY_PASSWORD et KEYSTORE_STORE_PASSWORD.
Exemple GitHub Actions
Section intitulée « Exemple GitHub 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 d’identifiants 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ûres
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 d’identifiants sur les runners
- Rotation et contrôle d’accès simplifiés
- Journal d’audit de l’utilisation des secrets
Rotation des identifiants
Section intitulée « Rotation des identifiants »Faites tourner régulièrement vos identifiants :
- iOS: Générez de nouveaux certificats et des clés API chaque année
- Android: Changez les mots de passe du keystore chaque année
- Après un changement d’équipe: À renouveler lorsque des membres de l'équipe partent
Mettre à jour les identifiants enregistrés :
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...Troubleshooting
Section intitulée « Dépannage »« Aucun identifiant trouvé »
Section intitulée « Aucun identifiant trouvé »Si le build indique qu'aucun identifiant n'a été trouvé :
-
Vérifier si les identifiants sont enregistrés:
Fenêtre de terminal bunx @capgo/cli@latest build credentials list -
Enregistrer les identifiants s'ils sont absents:
Fenêtre de terminal bunx @capgo/cli@latest build credentials save --platform ios ... -
Vérifier que le fichier d'identifiants existe:
Fenêtre de terminal ls -la ~/.capgo-credentials/credentials.json # globalls -la .capgo-credentials.json # local (--local)
« Permission denied » lors de la lecture des identifiants
Section intitulée « “Permission denied” lors de la lecture des identifiants »Corriger les permissions du fichier :
chmod 600 ~/.capgo-credentials/credentials.json # globalchmod 600 .capgo-credentials.json # localLes identifiants ne sont pas utilisés
Section intitulée « Identifiants non utilisés »Vérifiez que la bonne plateforme 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 identifiants
Section intitulée « Effacer et réenregistrer les identifiants »Si les identifiants semblent corrompus :
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Save againbunx @capgo/cli@latest build credentials save --platform ios ...Migration depuis les variables d'environnement
Section intitulée « Migration depuis les variables d’environnement »Si vous utilisez actuellement des variables d’environnement, vous pouvez migrer vers des identifiants enregistrés :
-
Extrayez vos variables d'environnement actuelles
Fenêtre de terminal echo $BUILD_CERTIFICATE_BASE64 # Verify they exist -
Décoder les fichiers base64 en fichiers d’origine (si nécessaire)
Fenêtre de terminal echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision -
Sauvegardez avec le 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 enregistrés dans l'ancien format (un seul
BUILD_PROVISION_PROFILE_BASE64), lancez :Fenêtre de terminal bunx @capgo/cli@latest build credentials migrate --platform iosCela convertit l'ancien profil unique en
CAPGO_IOS_PROVISIONING_MAPet supprime les anciennesBUILD_PROVISION_PROFILE_BASE64etAPPLE_PROFILE_NAMEclés. -
Tester le build
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 identifiants sont stockés dans un seul fichier JSON :
- Mondial (par défaut) :
~/.capgo-credentials/credentials.json— partagé entre tous vos projets - Local (avec
--local):.capgo-credentials.jsonà la racine de votre projet — remplace le fichier global pour ce projet
Le fichier est créé automatiquement la première fois que vous enregistrez des identifiants. Ajoutez .capgo-credentials.json vers votre .gitignore ainsi, les identifiants par projet ne sont jamais commités.
Étapes suivantes
Section intitulée « Étapes suivantes »- Prise en main - Créez votre premier build
- Builds iOS - Configuration de build spécifique à iOS
- Builds Android - Configuration de build spécifique à Android
- Troubleshooting - Problèmes courants et solutions
Besoin d'aide ?
Section intitulée « Besoin d'aide ? »- 📚 Guide de dépannage
- 💬 communauté Discord
- 📧 E-mail : support@capgo.app
Continuer depuis la gestion des credentials
Section intitulée « Continuer depuis la gestion des identifiants »Si vous utilisez Gestion des identifiants pour planifier l'automatisation CI/CD, et le connecter avec CI/CD Capgo pour le workflow produit dans le CI/CD de Capgo, Capgo Native Build pour le workflow produit dans les Native Builds de Capgo, Intégrations Capgo pour le workflow produit dans les intégrations de Capgo, Intégration CI/CD pour le détail d'implémentation dans l'intégration CI/CD, et Intégration GitHub Actions pour les détails d'implémentation de l'intégration GitHub Actions.