Aller directement au contenu

Gestion des informations d'identification

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

Capgo CLI vous permet de sauvegarder vos identifiants de build localement sur votre machine dans le .capgo-credentials Capgo __CAPGO_KEEP_1__ permet de sauvegarder vos identifiants de build localement sur votre machine dans le

Enregistrez vos informations d'identification de construction locales pour un usage automatique :

Fenêtre de terminal
npx @capgo/cli build credentials save --platform <ios|android> [options]

Mettez à jour les informations d'identification existantes sans devoir les fournir à nouveau intégralement :

Fenêtre de terminal
npx @capgo/cli build credentials update --platform <ios|android> [options]

La commande utilise la fusion additive pour les profils de provisioning — les nouveaux profils sont fusionnés avec les anciens. update Pour remplacer la carte de provisioning entière, ajoutez Exemple — ajoutez un profil d'extension aux informations d'identification existantes : Fenêtre de terminal --overwrite-ios-provisioning-map.

Copier dans le presse-papier

La commande d'actualisation accepte les mêmes options que
npx @capgo/cli build credentials update \
--platform ios \
--ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"

Liste des informations d'identification save Section intitulée « Liste des informations d'identification »

Afficher les informations d'identification actuellement enregistrées (les mots de passe sont masqués) :

L'option

Section intitulée «

Fenêtre de terminal
npx @capgo/cli build credentials list
# List credentials for a specific app
npx @capgo/cli build credentials list --appId com.example.app

Supprimer les informations d'identification enregistrées de votre machine locale :

Fenêtre de terminal
# Clear all credentials
npx @capgo/cli build credentials clear
# Clear credentials for a specific app + platform
npx @capgo/cli build credentials clear --appId com.example.app --platform ios

Convertir le format de profil unique hérité en format multi-cible nouveau :

Fenêtre de terminal
npx @capgo/cli build credentials migrate --platform ios

La commande de migration détecte les anciens BUILD_PROVISION_PROFILE_BASE64 informations d'identification, les convertit en CAPGO_IOS_PROVISIONING_MAP, et supprime les clés de legacy. Voir Migration d'un profil unique pour plus de détails.

Enregistrement des informations d'identification iOS

Section intitulée « Enregistrement des informations d'identification iOS »
Fenêtre de terminal
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"
OptionDescriptionObligatoire
--certificate <path>Chemin vers le fichier .p12 de certificatOui (version de production)
--p12-password <password>Mot de passe pour le certificat .p12Oui (version de production)
--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 (version de production)
--apple-key <path>Chemin du clé .p8 API d'App Store ConnectVoir la note¹
--apple-key-id <id>ID de clé d'App Store Connect APIVoir la note¹
--apple-issuer-id <id>ID émetteur d'App Store Connect API (UUID)Voir la note¹
--apple-team-id <id>ID d'équipe d'App Store ConnectOui
--ios-distribution <mode>Mode de distribution : app_store (par défaut) ou ad_hocNon
--output-uploadActiver un lien de téléchargement temporaire Capgo pour l'artifact de buildNon (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-bumpIgnorer l'incrémentation automatique du numéro de buildNon

Lorsque vous enregistrez les informations de connexion iOS, le CLI:

  1. Lecture des fichiers de certificat et de profil de provisioning
  2. Conversion en codage base64
  3. Enregistrement des informations de connexion dans le .capgo-credentials dossier
  4. Stockage des mots de passe et des identifiants au format texte (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 de connexion Android

Titre de la section « Enregistrement des informations de connexion Android »
Fenêtre de terminal
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
OptionDescriptionObligatoire
--keystore <path>Chemin vers le fichier .keystore ou .jksOui (version de production)
--keystore-alias <alias>Alias de la clé dans le keystoreOui (version de production)
--keystore-key-password <password>Mot de passe de l'alias de la cléOui (version de production)
--keystore-store-password <password>Mot de passe du keystoreOui (version de production)
--play-config <path>Chemin vers le fichier JSON du service Play StoreOui (soumission)

Lorsque vous enregistrez les informations de connexion Android, le CLI:

  1. Lis les fichiers JSON de clé de serveur et de compte de service
  2. Les convertit en codage base64
  3. Enregistre les informations de connexion dans le .capgo-credentials dossier
  4. Stocke les mots de passe et les alias sous forme de texte (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": "..."
}
}
}

Une fois que vous avez enregistré vos informations d'identification, elles sont automatiquement utilisées lors de la construction :

Fenêtre de terminal
# Credentials automatically loaded from .capgo-credentials folder
npx @capgo/cli build com.example.app --platform ios

Vous pouvez également surcharger les informations d'identification sauvegardées à l'aide de variables d'environnement :

Fenêtre de terminal
# Environment variables take precedence over saved credentials
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. Informations d'identification sauvegardées dans .capgo-credentials dossier
  3. Aucune information d'identification (priorité la plus basse)

Liste des informations de connexion que vous avez sauvegardées :

Fenêtre de terminal
npx @capgo/cli build credentials list

Exemple 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.
  1. Permissions de fichiers

    Fenêtre de terminal
    # Ensure credentials folder is not readable by others
    chmod 700 .capgo-credentials
    chmod 600 .capgo-credentials/*
  2. Ne jamais commettre les informations d'identification

    Fenêtre de terminal
    # Add to .gitignore
    echo ".capgo-credentials/" >> .gitignore
  3. Gérer les informations d'identification séparément

    • Utiliser des informations d'identification différentes pour le développement local et les CI/CD
    • Roter les informations d'identification régulièrement
    • Ne pas partager les informations d'identification entre les membres de l'équipe

Utilisation des CI/CD

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

Référence complète des variables d'environnement

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 :

Nom de la variableDescriptionFormatObligatoire
BUILD_CERTIFICATE_BASE64Certificat P12/PKCS12 pour la signature de codeBase64Oui (libération)
CAPGO_IOS_PROVISIONING_MAPCarte JSON des identifiants de paquet à des données de profil de provisionnementChaîne JSONOui (libération)
P12_PASSWORDMot de passe pour le certificat P12Texte en clairFacultatif
APPLE_KEY_IDClé d'ID App Store Connect APIChaîne de caractères (par exemple, « ABC1234567 »)Voir la note¹
APPLE_ISSUER_IDID émetteur App Store Connect APIChaîne de UUIDVoir la note¹
APPLE_KEY_CONTENTClé App Store Connect API (contenu du fichier .p8)Base64Voir la note¹
APP_STORE_CONNECT_TEAM_IDID d'équipe développeur AppleChaîne (par exemple, « XXXXXXXXXX »)Oui
CAPGO_IOS_DISTRIBUTIONMode de distribution : app_store ou ad_hocChaîneNon

Informations d'identification Android :

VariableDescriptionFormatObligatoire
ANDROID_KEYSTORE_FILEFichier de clés pour la signature de l'APK/AABBase64Oui (version de production)
KEYSTORE_KEY_ALIASAlias de clé au sein du fichier de clésChaîne de caractèresOui (version de production)
KEYSTORE_KEY_PASSWORDMot de passe de l'alias de cléTexte en clairOui*
KEYSTORE_STORE_PASSWORDMot de passe pour le fichier de clé de sécuritéTexte brutOui*
PLAY_CONFIG_JSONJSON de compte de service Google PlayBase64Oui (soumission)

Si seul un mot de passe est fourni, il sera utilisé pour les deux KEYSTORE_KEY_PASSWORD et KEYSTORE_STORE_PASSWORD.

github/flux de travail/build.yml
name: Cloud Build
on:
push:
branches: [main]
jobs:
build-ios:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- 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@v6
- 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 }}

Pour convertir vos fichiers de clés en base64 pour les secrets CI/CD :

Fenêtre de terminal
# 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 JSON
base64 -i play-store-service-account.json | tr -d '\n' > play_config_base64.txt

Pourquoi 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 facile et contrôle d'accès
  • Journal d'événements pour l'utilisation des secrets

Rotez régulièrement vos credenciaux :

  1. iOSGénérez de nouveaux certificats et API clés tous les ans
  2. AndroidChangez les mots de passe des clés de stockage annuellement
  3. Après les changements d'équipe: Rotation lorsque les membres de l'équipe quittent

Mettre à jour les informations d'identification enregistrées :

Fenêtre de terminal
# Re-run save command with new credentials
npx @capgo/cli build credentials save --platform ios --certificate ./new-cert.p12 ...

Si l'éditeur indique que les informations d'identification n'ont pas été trouvées :

  1. Vérifiez si les informations d'identification sont enregistrées:

    Fenêtre de terminal
    npx @capgo/cli build credentials list
  2. Sauvegarder les informations d'identification si elles manquent:

    Fenêtre de terminal
    npx @capgo/cli build credentials save --platform ios ...
  3. Vérifier l'existence du dossier des informations d'identification:

    Fenêtre de terminal
    ls -la .capgo-credentials/

“Accès refusé” lors de la lecture des informations d'identification

Section intitulée ““Accès refusé” lors de la lecture des informations d'identification””

Réparer les permissions du fichier :

Fenêtre de terminal
chmod 700 .capgo-credentials
chmod 600 .capgo-credentials/*

Les 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 :

Fenêtre de terminal
# Make sure --platform matches saved credentials
npx @capgo/cli build com.example.app --platform ios # Uses ios credentials
npx @capgo/cli build com.example.app --platform android # Uses android credentials

Effacer 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 :

Fenêtre de terminal
# Clear all credentials
npx @capgo/cli build credentials clear
# Save again
npx @capgo/cli build credentials save --platform ios ...

Si vous utilisez actuellement des variables d'environnement, vous pouvez migrer vers des informations d'identification sauvegardées :

  1. Extraire vos variables d'environnement actuelles

    Fenêtre de terminal
    echo $BUILD_CERTIFICATE_BASE64 # Verify they exist
  2. Décodez les fichiers base64 pour les restaurer dans leur forme d'origine (si nécessaire)

    Fenêtre de terminal
    echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12
    echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision
  3. Sauvegarder à l'aide de CLI

    Fenêtre de terminal
    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 avez des informations d'identification existantes sauvegardées sous la forme ancienne (simple) BUILD_PROVISION_PROFILE_BASE64Terminal :

    Fenêtre de terminal
    npx @capgo/cli build credentials migrate --platform ios

    Cette commande convertit le profil legacy en un CAPGO_IOS_PROVISIONING_MAP et supprime les anciens BUILD_PROVISION_PROFILE_BASE64 et APPLE_PROFILE_NAME clés.

  4. Tester la construction

    Fenêtre de terminal
    npx @capgo/cli build com.example.app --platform ios
  5. Supprimer les variables d'environnement (facultatif)

    Fenêtre de terminal
    unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64

Les informations d'identification sont stockées dans le .capgo-credentials dossier :

  • macOS/Linux: .capgo-credentials/ (dans votre répertoire racine ou dossier personnel)
  • Windows: .capgo-credentials\ (dans votre répertoire racine ou dossier personnel)

Le dossier est automatiquement créé lorsque vous enregistrez les informations d'identification pour la première fois.

Étapes suivantes

Étape suivante