Passer au contenu

Gestion des identifiants

Gérez vos identifiants de build iOS et Android localement pour des builds cloud pratiques.

Le CLI Capgo vous permet d’enregistrer les identifiants de build localement sur votre machine dans le dossier .capgo-credentials. Lorsque vous lancez un build, ces identifiants sont automatiquement utilisés et envoyés de manière sécurisée aux serveurs de build de Capgo.

Stockez vos identifiants de build localement pour une utilisation automatique :

Terminal window
npx @capgo/cli build credentials save --platform <ios|android> [options]

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

Terminal window
npx @capgo/cli build credentials list

Supprimer les identifiants enregistrés de votre machine locale :

Terminal window
# Effacer tous les identifiants
npx @capgo/cli build credentials clear
# Effacer uniquement les identifiants iOS
npx @capgo/cli build credentials clear --platform ios
# Effacer uniquement les identifiants Android
npx @capgo/cli build credentials clear --platform android
Terminal window
npx @capgo/cli build credentials save \
--platform ios \
--certificate ./cert.p12 \
--p12-password "YourP12Password" \
--provisioning-profile ./profile.mobileprovision \
--apple-key ./AuthKey_ABC1234567.p8 \
--apple-key-id "ABC1234567" \
--apple-issuer-id "00000000-0000-0000-0000-000000000000" \
--apple-team-id "TEAM123456"
OptionDescriptionRequis
--certificate <path>Chemin vers le fichier de certificat .p12Oui (release)
--p12-password <password>Mot de passe du certificat .p12Oui (release)
--provisioning-profile <path>Chemin vers le fichier .mobileprovisionOui (release)
--provisioning-profile-prod <path>Profil de provisionnement de production (optionnel)Non
--apple-key <path>Chemin vers la clé API .p8 App Store ConnectOui (soumission)
--apple-key-id <id>ID de la clé API App Store ConnectOui (soumission)
--apple-issuer-id <id>ID de l’émetteur de l’API App Store Connect (UUID)Oui (soumission)
--apple-team-id <id>ID de l’équipe App Store ConnectOui (soumission)
--apple-id <email>Email de l’identifiant Apple (authentification alternative)Non
--apple-app-password <password>Mot de passe spécifique à l’application (authentification alternative)Non

Lorsque vous enregistrez les identifiants iOS, le CLI :

  1. Lit les fichiers de certificat et de profil de provisionnement
  2. Les convertit en encodage base64
  3. Enregistre les identifiants dans le dossier .capgo-credentials
  4. Stocke les mots de passe et ID en texte brut (fichiers locaux uniquement)

La structure de fichier stockée :

{
"ios": {
"BUILD_CERTIFICATE_BASE64": "...",
"BUILD_PROVISION_PROFILE_BASE64": "...",
"APPLE_KEY_CONTENT": "...",
"P12_PASSWORD": "...",
"APPLE_KEY_ID": "ABC1234567",
"APPLE_ISSUER_ID": "...",
"APP_STORE_CONNECT_TEAM_ID": "TEAM123456"
}
}
Terminal window
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.json
OptionDescriptionRequis
--keystore <path>Chemin vers le fichier .keystore ou .jksOui (release)
--keystore-alias <alias>Alias de la clé dans le keystoreOui (release)
--keystore-key-password <password>Mot de passe de l’alias de cléOui (release)
--keystore-store-password <password>Mot de passe du keystoreOui (release)
--play-config <path>Chemin vers le JSON du compte de service Play StoreOui (soumission)

Lorsque vous enregistrez les identifiants Android, le CLI :

  1. Lit les fichiers keystore et JSON du compte de service
  2. Les convertit en encodage base64
  3. Enregistre les identifiants dans le dossier .capgo-credentials
  4. Stocke les mots de passe et l’alias en texte brut (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": "..."
}
}
}

Une fois que vous avez enregistré les identifiants, ils sont automatiquement utilisés lors de la compilation :

Terminal window
# Les identifiants sont automatiquement chargés depuis le dossier .capgo-credentials
npx @capgo/cli build com.example.app --platform ios

Vous pouvez également remplacer les identifiants enregistrés en utilisant des variables d’environnement :

Terminal window
# Les variables d'environnement ont priorité sur les identifiants enregistrés
BUILD_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. Identifiants enregistrés dans le dossier .capgo-credentials
  3. Pas d’identifiants (priorité la plus basse)

Listez les identifiants que vous avez enregistrés :

Terminal window
npx @capgo/cli build credentials list

Exemple de sortie :

📋 Identifiants de build enregistrés :
Identifiants iOS :
✓ Certificat (base64)
✓ Profil de provisionnement (base64)
✓ Contenu de la clé Apple (base64)
✓ Mot de passe P12 : ********
✓ ID de clé Apple : ABC1234567
✓ ID d'émetteur Apple : 00000000-0000-0000-0000-000000000000
✓ ID d'équipe : TEAM123456
Identifiants Android :
✓ Keystore (base64)
✓ Configuration Play Store (base64)
✓ Alias du keystore : my-key-alias
✓ Mot de passe de la clé : ********
✓ Mot de passe du magasin : ********
Emplacement : .capgo-credentials/
🔒 Ces identifiants sont stockés localement uniquement sur votre machine.
Lors de la compilation, ils sont envoyés à Capgo mais ne sont JAMAIS stockés là-bas.
Ils sont automatiquement supprimés après la fin du build (max 24 heures).
  1. Permissions de fichiers

    Terminal window
    # Assurez-vous que le dossier d'identifiants n'est pas accessible aux autres
    chmod 700 .capgo-credentials
    chmod 600 .capgo-credentials/*
  2. Ne jamais committer les identifiants

    Terminal window
    # Ajouter au .gitignore
    echo ".capgo-credentials/" >> .gitignore
  3. Séparer les identifiants

    • Utilisez des identifiants différents pour le développement local vs CI/CD
    • Faites tourner les identifiants régulièrement
    • Ne partagez pas les identifiants entre les membres de l’équipe

Pour les environnements CI/CD, préférez les variables d’environnement aux identifiants enregistrés :

# GitHub Actions
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_CERTIFICATE }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
# ... autres secrets

C’est plus sécurisé car :

  • Les secrets sont gérés par votre plateforme CI/CD
  • Pas de fichiers d’identifiants sur les runners
  • Rotation facile et contrôle d’accès
  • Pistes d’audit pour l’utilisation des secrets

Faites tourner régulièrement vos identifiants :

  1. iOS : Générez de nouveaux certificats et clés API annuellement
  2. Android : Changez les mots de passe du keystore annuellement
  3. Après des changements d’équipe : Faites tourner lorsque des membres de l’équipe partent

Mettre à jour les identifiants enregistrés :

Terminal window
# Réexécutez la commande d'enregistrement avec les nouveaux identifiants
npx @capgo/cli build credentials save --platform ios --certificate ./new-cert.p12 ...

Si le build indique qu’aucun identifiant n’a été trouvé :

  1. Vérifiez si les identifiants sont enregistrés :

    Terminal window
    npx @capgo/cli build credentials list
  2. Enregistrez les identifiants s’ils sont manquants :

    Terminal window
    npx @capgo/cli build credentials save --platform ios ...
  3. Vérifiez que le dossier d’identifiants existe :

    Terminal window
    ls -la .capgo-credentials/

“Permission refusée” lors de la lecture des identifiants

Section titled ““Permission refusée” lors de la lecture des identifiants”

Corrigez les permissions de fichiers :

Terminal window
chmod 700 .capgo-credentials
chmod 600 .capgo-credentials/*

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

Terminal window
# Assurez-vous que --platform correspond aux identifiants enregistrés
npx @capgo/cli build com.example.app --platform ios # Utilise les identifiants ios
npx @capgo/cli build com.example.app --platform android # Utilise les identifiants android

Effacer et réenregistrer les identifiants

Section titled “Effacer et réenregistrer les identifiants”

Si les identifiants semblent corrompus :

Terminal window
# Effacer tous les identifiants
npx @capgo/cli build credentials clear
# Enregistrer à nouveau
npx @capgo/cli build credentials save --platform ios ...

Migration depuis les variables d’environnement

Section titled “Migration depuis les variables d’environnement”

Si vous utilisez actuellement des variables d’environnement, vous pouvez migrer vers les identifiants enregistrés :

  1. Extraire vos variables d’environnement actuelles

    Terminal window
    echo $BUILD_CERTIFICATE_BASE64 # Vérifiez qu'elles existent
  2. Décoder les fichiers base64 vers les fichiers d’origine (si nécessaire)

    Terminal window
    echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12
    echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision
  3. Enregistrer en utilisant le CLI

    Terminal window
    npx @capgo/cli build credentials save \
    --platform ios \
    --certificate ./cert.p12 \
    --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"
  4. Tester le build

    Terminal window
    npx @capgo/cli build com.example.app --platform ios
  5. Supprimer les variables d’environnement (optionnel)

    Terminal window
    unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64

Les identifiants sont stockés dans le dossier .capgo-credentials :

  • macOS/Linux : .capgo-credentials/ (dans la racine de votre projet ou le répertoire home)
  • Windows : .capgo-credentials\ (dans la racine de votre projet ou le répertoire home)

Le dossier est automatiquement créé lorsque vous enregistrez des identifiants pour la première fois.