Gérez vos informations d’identification de build iOS et Android localement pour des builds cloud pratiques.
Aperçu
Section titled “Aperçu”Capgo CLI vous permet d’enregistrer les informations d’identification de build localement sur votre ordinateur dans le dossier .capgo-credentials. Lorsque vous exécutez une build, ces informations d’identification sont automatiquement utilisées et envoyées en toute sécurité aux serveurs de build de Capgo.
Commandes
Section titled “Commandes”Enregistrer les informations d’identification
Section titled “Enregistrer les informations d’identification”Stockez vos informations d’identification de build localement pour une utilisation automatique :
npx @capgo/cli build credentials save --platform <ios|android> [options]Mettre à jour les informations d’identification
Section titled “Mettre à jour les informations d’identification”Mettez à jour partiellement les informations d’identification existantes sans tout fournir à nouveau :
npx @capgo/cli build credentials update --platform <ios|android> [options]La commande update utilise une fusion additive pour les profils de provisionnement : les nouveaux profils sont fusionnés avec les profils existants. Pour remplacer l’intégralité de la carte de provisionnement, ajoutez --overwrite-ios-provisioning-map.
Exemple : ajoutez un profil d’extension aux informations d’identification existantes :
npx @capgo/cli 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 : seuls les champs que vous fournissez sont mis à jour.
Répertorier les informations d’identification
Section titled “Répertorier les informations d’identification”Afficher les informations d’identification actuellement enregistrées (les mots de passe sont masqués) :
npx @capgo/cli build credentials list
# List credentials for a specific appnpx @capgo/cli build credentials list --appId com.example.appEffacer les informations d’identification
Section titled “Effacer les informations d’identification”Supprimez les informations d’identification enregistrées de votre ordinateur local :
# 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 iosMigrer les informations d’identification
Section titled “Migrer les informations d’identification”Convertissez l’ancien format à profil unique en le nouveau format multi-cible :
npx @capgo/cli build credentials migrate --platform iosLa commande migrate détecte les anciennes informations d’identification BUILD_PROVISION_PROFILE_BASE64, les convertit en CAPGO_IOS_PROVISIONING_MAP et supprime les clés héritées. Voir Migration à partir d’un profil unique pour plus de détails.
Enregistrement des informations d’identification iOS
Section titled “Enregistrement des informations d’identification iOS”Exemple complet
Section titled “Exemple complet”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 Options| Options | Descriptif | Obligatoire |
Section titled “iOS Options| Options | Descriptif | Obligatoire |”|--------|-------------|--------------|
| --certificate <path> | Chemin d’accès au fichier de certificat .p12 | Oui (version) |
| --p12-password <password> | Mot de passe du certificat .p12 | Oui (version) |
| --ios-provisioning-profile <mapping> | Mappage du profil de provisionnement (bundleId=path). Répétable pour les applications multi-cibles. S’il n’y a qu’un seul profil et aucun préfixe bundleId, CLI déduit automatiquement à partir du profil. | Oui (version) |
| --apple-key <path> | Chemin vers App Store Connect API Clé .p8 | Voir la remarque¹ |
| --apple-key-id <id> | App Store Connect API ID de clé | Voir la remarque¹ |
| --apple-issuer-id <id> | App Store Connect API ID de l’émetteur (UUID) | Voir la remarque¹ |
| --apple-team-id <id> | App Store Connect ID d’équipe | Oui |
| --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 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 |
Ce qui est stocké
Section titled “Ce qui est stocké”Lorsque vous enregistrez les informations d’identification iOS, le CLI :
- Lit les fichiers de certificat et de profil d’approvisionnement
- Les convertit en encodage base64
- Enregistre les informations d’identification dans le dossier
.capgo-credentials - Stocke les mots de passe et les identifiants sous forme de texte brut (fichiers locaux uniquement)
La 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 informations d’identification Android
Section titled “Enregistrement des informations d’identification Android”Exemple complet
Section titled “Exemple complet”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 Options
Section titled “Android Options”| Options | Descriptif | Obligatoire |
|---|---|---|
--keystore <path> | Chemin d’accès au fichier .keystore ou .jks | Oui (version) |
--keystore-alias <alias> | Alias de clé dans le magasin de clés | Oui (version) |
--keystore-key-password <password> | Mot de passe pour l’alias de clé | Oui (version) |
--keystore-store-password <password> | Mot de passe pour le magasin de clés | Oui (version) |
--play-config <path> | Chemin d’accès au compte de service Play Store JSON | Oui (soumission) |
Ce qui est stocké
Section titled “Ce qui est stocké”Lorsque vous enregistrez les informations d’identification Android, le CLI :
- Lit les fichiers du magasin de clés et du compte de service JSON
- Les convertit en encodage base64
- Enregistre les informations d’identification dans le dossier
.capgo-credentials - Stocke les mots de passe et les alias sous forme de texte brut (fichiers locaux uniquement)
La 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 informations d’identification enregistrées
Section titled “Utilisation des informations d’identification enregistrées”Une fois que vous avez enregistré les informations d’identification, elles sont automatiquement utilisées lors de la création :
# Credentials automatically loaded from .capgo-credentials foldernpx @capgo/cli build com.example.app --platform iosVous pouvez également remplacer 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" \npx @capgo/cli build com.example.app --platform ios```**Ordre de priorité :**1. Variables d'environnement (priorité la plus élevée)2. Informations d'identification enregistrées dans le dossier `.capgo-credentials`3. Aucune information d'identification (priorité la plus basse)
## Affichage des informations d'identification enregistrées
Répertoriez les informations d'identification que vous avez enregistrées :
```bashnpx @capgo/cli 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/
🔒 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 titled “Bonnes pratiques de sécurité”Sécurité du stockage local
Section titled “Sécurité du stockage local”-
Autorisations de fichiers
Terminal window # Ensure credentials folder is not readable by otherschmod 700 .capgo-credentialschmod 600 .capgo-credentials/* -
Ne jamais valider les informations d’identification
Terminal window # Add to .gitignoreecho ".capgo-credentials/" >> .gitignore -
Identifiants séparés
- Utilisez des informations d’identification différentes pour le développement local par rapport à CI/CD
- Rotation régulière des informations d’identification
- Ne partagez pas les informations d’identification entre les membres de l’équipe
Utilisation des CI/CD
Section titled “Utilisation des CI/CD”Pour les environnements CI/CD, préférez les variables d’environnement aux informations d’identification enregistrées.
Référence complète des variables d’environnement
Section titled “Référence complète des variables d’environnement”Le CLI lit les variables d’environnement suivantes pour les informations d’identification :
iOS Identifiants :
| Variables | Descriptif | Formater | Obligatoire |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | Certificat P12/PKCS12 pour la signature de code | Base64 | Oui (version) |
CAPGO_IOS_PROVISIONING_MAP | JSON mappage des ID de bundle avec les données de profil de provisionnement | JSON chaîne | Oui (version) |
P12_PASSWORD | Mot de passe pour le certificat P12 | Texte brut | Facultatif |
APPLE_KEY_ID | App Store Connect API ID de clé | Chaîne (par exemple, “ABC1234567”) | Voir la remarque¹ |
APPLE_ISSUER_ID | App Store Connect API Identifiant de l’émetteur | Chaîne UUID | Voir la remarque¹ |
APPLE_KEY_CONTENT | Clé App Store Connect API (contenu du fichier .p8) | Base64 | Voir la remarque¹ |
APP_STORE_CONNECT_TEAM_ID | Apple ID de l’équipe de développeurs | Chaîne (par exemple, “XXXXXXXXXX”) | Oui |
CAPGO_IOS_DISTRIBUTION | Mode de distribution : app_store (par défaut) ou ad_hoc | Chaîne | Non |
Android Informations d’identification :
| Variables | Descriptif | Formater | Obligatoire |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | Fichier de clés pour signer APK/AAB | Base64 | Oui (version) |
KEYSTORE_KEY_ALIAS | Alias de clé dans le magasin de clés | Chaîne | Oui (version) |
KEYSTORE_KEY_PASSWORD | Mot de passe pour l’alias de clé | Texte brut | Oui* |
KEYSTORE_STORE_PASSWORD | Mot de passe pour le fichier de clés | Texte brut | Oui* |
PLAY_CONFIG_JSON | Google Play compte de service JSON | Base64 | Oui (soumission) |
*Si un seul mot de passe est fourni, il sera utilisé à la fois pour KEYSTORE_KEY_PASSWORD et KEYSTORE_STORE_PASSWORD.
GitHub Exemple d’actions
Section titled “GitHub Exemple d’actions”name: Cloud Build
on: push: branches: [main]
jobs: build-ios: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - 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@v4 - 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 }}Préparation des valeurs Base64
Section titled “Préparation des valeurs Base64”Pour convertir vos fichiers d’informations d’identification 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: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.txtPourquoi les variables d’environnement sont plus sécurisées
Section titled “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 dossier d’accréditation sur les coureurs
- Rotation et contrôle d’accès faciles
- Pistes d’audit pour une utilisation secrète
Rotation des informations d’identification
Section titled “Rotation des informations d’identification”Faites régulièrement pivoter vos identifiants :
- iOS : Générez de nouveaux certificats et clés API chaque année
- Android : modifiez les mots de passe du magasin de clés chaque année
- Après les changements d’équipe : effectuez une rotation lorsque les membres de l’équipe partentMettre à jour les identifiants enregistrés :
# Re-run save command with new credentialsnpx @capgo/cli build credentials save --platform ios --certificate ./new-cert.p12 ...Dépannage
Section titled “Dépannage””Aucun identifiant trouvé”
Section titled “”Aucun identifiant trouvé””Si la version indique qu’aucune information d’identification n’a été trouvée :
-
Vérifiez si les informations d’identification sont enregistrées :
Terminal window npx @capgo/cli build credentials list -
Enregistrez les informations d’identification si elles sont manquantes :
Terminal window npx @capgo/cli build credentials save --platform ios ... -
Vérifiez que le dossier d’informations d’identification existe :
Terminal window ls -la .capgo-credentials/
“Autorisation refusée” lors de la lecture des informations d’identification
Section titled ““Autorisation refusée” lors de la lecture des informations d’identification”Corrigez les autorisations de fichiers :
chmod 700 .capgo-credentialschmod 600 .capgo-credentials/*Les identifiants ne sont pas utilisés
Section titled “Les identifiants ne sont pas utilisés”Vérifiez que la bonne plate-forme est spécifiée :
# 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 credentialsEffacer et réenregistrer les informations d’identification
Section titled “Effacer et réenregistrer les informations d’identification”Si les identifiants semblent corrompus :
# Clear all credentialsnpx @capgo/cli build credentials clear
# Save againnpx @capgo/cli build credentials save --platform ios ...Migration à partir des variables d’environnement
Section titled “Migration à partir 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
Terminal window echo $BUILD_CERTIFICATE_BASE64 # Verify they exist -
Décoder les fichiers base64 en fichiers originaux (si nécessaire)
Terminal window echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision -
Enregistrez en utilisant le CLI
Terminal window 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"Si vous disposez d’informations d’identification existantes enregistrées dans l’ancien format (unique
BUILD_PROVISION_PROFILE_BASE64), exécutez :Terminal window npx @capgo/cli build credentials migrate --platform iosCela convertit l’ancien profil unique en
CAPGO_IOS_PROVISIONING_MAPet supprime les anciennes clésBUILD_PROVISION_PROFILE_BASE64etAPPLE_PROFILE_NAME. -
Testez la version
Terminal window npx @capgo/cli build com.example.app --platform ios -
Supprimer les variables d’environnement (facultatif)
Terminal window unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64
Emplacement du fichier
Section titled “Emplacement du fichier”Les informations d’identification sont stockées dans le dossier .capgo-credentials :
- macOS/Linux :
.capgo-credentials/(dans la racine de votre projet ou dans le répertoire personnel) - Windows :
.capgo-credentials\(dans la racine de votre projet ou dans le répertoire personnel)
Le dossier est automatiquement créé lorsque vous enregistrez les informations d’identification pour la première fois.
Prochaines étapes
Section titled “Prochaines étapes”- Mise en route - Créez votre premier build
- iOS Builds - Configuration de build spécifique à iOS
- Android Builds - Configuration de build spécifique à Android
- Dépannage - Problèmes courants et solutions
Besoin d’aide ?
Section titled “Besoin d’aide ?”- 📚 Guide de dépannage
- 💬 Communauté Discord
- 📧 E-mail : support@capgo.app