Passer à la navigation

Résoudre les problèmes

Solutions aux problèmes courants lors de la création d'applications natives avec Capgo Cloud Build.

”Échec d'upload” ou “Délai de connexion”

Section intitulée “”Échec d'upload” ou “Délai de connexion””

Symptômes :

  • L'upload du projet échoue pendant la construction
  • Erreurs de timeout après 60 secondes

Solutions :

  1. Vérifiez votre connexion Internet

    Fenêtre de terminal
    # Test connection to Capgo
    curl -I https://api.capgo.app
  2. Réduire la taille du projet

    • Assurez-vous que node_modules/ ne soit pas en cours d'upload (devrait être automatiquement exclu)
    • Vérifiez les fichiers volumineux dans votre projet :
    Fenêtre de terminal
    find . -type f -size +10M
  3. Vérifiez l'expiration de l'URL d'upload

    • Les URLs d'upload expirent après 1 heure
    • Si vous obtenez une erreur de URL expirée, re-exécutez la commande de build

Symptômes :

  • Le build dépasse le temps maximum autorisé
  • Statut affiche timeout

Solutions :

  1. Optimiser les dépendances

    • Supprimer les packages inutilisés npm
    • Utiliser npm prune --production avant de construire
  2. Vérifier les problèmes de réseau lors de la construction

    • Certaines dépendances peuvent télécharger des fichiers importants pendant la construction
    • Considérer la mise en cache avec un fichier de verrouillage
  3. Examiner les dépendances natives

    Fenêtre de terminal
    # iOS - check Podfile for heavy dependencies
    cat ios/App/Podfile
    # Android - check build.gradle
    cat android/app/build.gradle
  4. Contacter le support

    • If your app a besoin légitime de plus de temps
    • Nous pouvons ajuster les limites pour des cas d'utilisation spécifiques

« La clé API est invalide » ou « Non autorisé »

Section intitulée « La clé API est invalide » ou « Non autorisé »

Symptômes :

  • La construction faille immédiatement avec une erreur d'authentification
  • Erreurs 401 ou 403

Solutions :

  1. Vérifiez que la clé API est correcte

    Fenêtre de terminal
    # Test with a simple command
    bunx @capgo/cli@latest app list
  2. Vérifiez les permissions de la clé API

    • La clé doit avoir write ou all permissions
    • Vérifiez dans le tableau de bord Capgo sous API Clés
  3. Assurez-vous que la clé API est lue

    Fenêtre de terminal
    # Check environment variable
    echo $CAPGO_TOKEN
    # Or check your saved credentials file
    cat ~/.capgo-credentials/credentials.json # global
    cat .capgo-credentials.json # local (--local)
  4. Se réauthentifier

    Fenêtre de terminal
    bunx @capgo/cli@latest login

Symptômes :

  • La connexion d'authentification fonctionne mais une erreur spécifique à l'appareil est survenue

Solutions :

  1. Vérifiez que l'appareil est enregistré

    Fenêtre de terminal
    bunx @capgo/cli@latest app list
  2. Vérifiez que l'ID de l'appareil correspond

    • Vérifiez capacitor.config.json appId
    • Assurez-vous que la commande utilise l'ID d'appareil correct
  3. Vérifiez l'accès de l'organisation

    • Assurez-vous d'être dans l'organisation correcte
    • La clé API doit avoir accès à l'organisation de l'application

Symptômes :

  • La construction faille pendant la phase de signature de code
  • Erreurs Xcode concernant les certificats ou les profils

Solutions :

  1. Vérifiez que le type de certificat correspond au type de construction

    • Les builds de développement nécessitent des certificats de développement
    • Les builds de l'App Store nécessitent des certificats de distribution
  2. Vérifiez que le certificat et le profil correspondent

    Fenêtre de terminal
    # Decode and inspect your certificate
    echo $BUILD_CERTIFICATE_BASE64 | base64 -d > cert.p12
    openssl pkcs12 -in cert.p12 -nokeys -passin pass:$P12_PASSWORD | openssl x509 -noout -subject
  3. Assurez-vous que le profil de provisionnement est valide

    • Vérifiez la date d'expiration
    • Vérifiez qu'il inclut votre ID d'application
    • Confirmez qu'il inclut le certificat
  4. Régenerer les informations d'identification

    • Supprimer les anciens certificats/profils
    • Créer de nouveaux dans le portail Apple Developer
    • Re-encoder et mettre à jour les variables d'environnement

”Le profil de provisionnement ne comprend pas le certificat de signature”

Section intitulée “”Le profil de provisionnement ne comprend pas le certificat de signature””

Symptômes :

  • Xcode ne peut pas trouver le certificat dans le profil

Solutions :

  1. Télécharger le dernier profil de Apple

    • Allez à Apple Developer → Certificats, IDs et Profils
    • Télécharger le profil de provisionnement
    • Assurez-vous qu'il inclut votre certificat
  2. Vérifiez que le certificat est dans le profil

    Fenêtre de terminal
    # Extract profile
    echo $BUILD_PROVISION_PROFILE_BASE64 | base64 -d > profile.mobileprovision
    # View profile contents
    security cms -D -i profile.mobileprovision
  3. Recréer le profil avec le certificat correct

    • Dans le portail Apple Developer, éditer le profil
    • Assurez-vous que votre certificat de distribution est sélectionné
    • Télécharger et re-encoder

”L'authentification App Store Connect a échoué”

Section intitulée “”L'authentification App Store Connect a échoué””

Symptômes :

  • L'envoi vers TestFlight échoue
  • Les erreurs de clé API

Solutions :

  1. Vérifier les informations de clé API

    • Vérifiez APPLE_KEY_ID (qui doit comporter 10 caractères)
    • Vérifiez APPLE_ISSUER_ID (qui doit être au format UUID)
    • Vérifiez que APPLE_KEY_CONTENT est correctement encodé en base64
  2. Testez la clé API localement

    Fenêtre de terminal
    # Decode key
    echo $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8
    # Test with fastlane (if installed)
    fastlane pilot list
  3. Vérifiez les permissions de la clé API

    • La clé nécessite le rôle « Développeur » ou un rôle supérieur
    • Vérifiez dans App Store Connect → Utilisateurs et accès → Clés
  4. S'assurer que la clé n'est pas révoquée

    • Vérifiez dans App Store Connect
    • Générez une nouvelle clé si nécessaire

Symptômes :

  • La construction faille pendant l'installation de CocoaPods
  • Erreurs de Podfile

Solutions :

  1. Vérifiez que Podfile.lock est commité

    Fenêtre de terminal
    git status ios/App/Podfile.lock
  2. Tester l'installation de pod localement

    Fenêtre de terminal
    cd ios/App
    pod install
  3. Vérifiez les pods incompatibles

    • Révisez le fichier Podfile pour les conflits de version
    • Assurez-vous que tous les pods supportent votre cible de déploiement iOS
  4. Effacez la cache des pods

    Fenêtre de terminal
    cd ios/App
    rm -rf Pods
    rm Podfile.lock
    pod install
    # Then commit new Podfile.lock

Symptômes :

  • La construction faille lors de la signature
  • Erreurs Gradle concernant le coffre-fort

Solutions :

  1. Vérifiez le mot de passe du coffre-fort

    Fenêtre de terminal
    # Test keystore locally
    keytool -list -keystore my-release-key.keystore
    # Enter password when prompted
  2. Vérifiez les variables d'environnement

    Fenêtre de terminal
    # Ensure no extra spaces or special characters
    echo "$KEYSTORE_STORE_PASSWORD" | cat -A
    echo "$KEYSTORE_KEY_PASSWORD" | cat -A
  3. Vérifiez l'encodage Base64

    Fenêtre de terminal
    # Decode and test
    echo $ANDROID_KEYSTORE_FILE | base64 -d > test.keystore
    keytool -list -keystore test.keystore

Symptômes :

  • La signature échoue avec un erreur d'alias

Solutions :

  1. Liste des alias du coffre-fort

    Fenêtre de terminal
    keytool -list -keystore my-release-key.keystore
  2. Vérifier que l'alias correspond exactement

    • L'alias est sensible à la casse
    • Vérifiez les fautes d'orthographe dans KEYSTORE_KEY_ALIAS
  3. Utilisez l'alias correct du coffre-fort

    Fenêtre de terminal
    # Update environment variable to match
    export KEYSTORE_KEY_ALIAS="the-exact-alias-name"

Symptômes :

  • Erreurs de construction Gradle génériques
  • Problèmes de compilation ou de dépendances

Solutions :

  1. Testez la construction locale avant de poursuivre

    Fenêtre de terminal
    cd android
    ./gradlew clean
    ./gradlew assembleRelease
  2. Vérifiez les dépendances manquantes

    • Révisez les fichiers build.gradle
    • Assurez-vous que toutes les extensions soient listées dans les dépendances
  3. Vérifiez la compatibilité de la version de Gradle

    Fenêtre de terminal
    # Check gradle version
    cat android/gradle/wrapper/gradle-wrapper.properties
  4. Effacer le cache Gradle

    Fenêtre de terminal
    cd android
    ./gradlew clean
    rm -rf .gradle build

Symptômes :

  • La construction réussit mais l'upload échoue
  • Erreurs de compte de service

Solutions :

  1. Vérifiez le compte d'utilisateur JSON de service

    Fenêtre de terminal
    # Decode and check format
    echo $PLAY_CONFIG_JSON | base64 -d | jq .
  2. Vérifiez les permissions du compte d'utilisateur de service

    • Allez à Play Console → Configuration → API Accès
    • Assurez-vous que le compte d'utilisateur de service a accès à votre application
    • Accordez la permission « Lancer vers les pistes de test »
  3. Vérifiez que votre application est configurée dans Play Console

    • L'application doit être créée dans Play Console avant cela
    • Au moins un APK doit être téléchargé manuellement initialement
  4. Vérifiez que API est activé

    • Google Play Developer API doit être activé
    • Vérifiez dans le console Google Cloud

”Le travail n'a pas été trouvé” ou “Statut de construction indisponible”

Section intitulée “”Le travail n'a pas été trouvé” ou “Statut de construction indisponible””

Symptômes :

  • Impossible de vérifier le statut de construction
  • Erreurs de ID de travail

Solutions :

  1. Attendez un moment et réessayez

    • Les jobs de construction peuvent prendre quelques secondes pour s'initialiser
  2. Vérifiez que l'ID de travail est correct

    • Vérifiez l'ID de travail à partir de la réponse de la première construction
  3. Vérifiez que la construction n'est pas expirée

    • Les données de construction sont disponibles pendant 24 heures

Symptômes :

  • La construction fail avant le début de la compilation
  • Erreurs de fichiers manquants

Solutions :

  1. Exécutez Capacitor synchronisation locale

    Fenêtre de terminal
    bunx cap sync
  2. Vérifiez que tous les fichiers natifs sont commités

    Fenêtre de terminal
    git status ios/ android/
  3. Vérifiez les fichiers natifs ignorés par Git

    • Réviser .gitignore
    • Vérifiez que les fichiers de configuration importants ne sont pas ignorés

Solutions : Le build a réussi mais je ne vois pas de lien de téléchargement

  • Symptômes : Le build a réussi mais je ne vois pas de lien de téléchargement

Solutions : Le build a réussi mais je ne vois pas de lien de téléchargement

  1. Vérifiez la configuration de construction

    • Le stockage des artefacts n'est peut-être pas configuré
    • Contactez le support si l'accès aux artefacts n'est pas disponible pour votre build
  2. Pour la soumission de TestFlight iOS

    • Vérifiez App Store Connect
    • Le traitement peut prendre entre 5 et 30 minutes après l'upload
  3. Pour la Play Store Android

    • Vérifiez Play Console → Testing → Test interne
    • Le traitement peut prendre quelques minutes

Symptômes :

  • bunx @capgo/cli@latest … échoue en CI avec « commande non trouvée »

Solutions :

  1. Configurez d'abord Bun donc bunx est disponible :

    - uses: oven-sh/setup-bun@v2
  2. Ensuite exécutez le CLIbunx le récupère à la demande, aucune installation globale n'est nécessaire :

    - run: bunx @capgo/cli@latest build request com.example.app --platform android

Symptômes :

  • Variables d'environnement vides lors de la construction

Solutions :

  1. Vérifiez que les secrets sont définis

    • Allez dans les paramètres de votre dépôt → Secrets et variables → Actions
    • Ajoutez tous les secrets requis
  2. Utilisez la syntaxe correcte

    env:
    CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
  3. Vérifiez que les noms des secrets correspondent

    • Les noms sont sensibles à la casse
    • Aucun faute d'orthographe dans les références de secrets
Fenêtre de terminal
# Add debug flag (when available)
bunx @capgo/cli@latest build request com.example.app --verbose

Lorsque vous contactez le support, incluez :

  1. Commande de construction utilisée

    Fenêtre de terminal
    bunx @capgo/cli@latest build request com.example.app --platform ios
  2. Message d'erreur (sortie complète)

  3. ID de la tâche (à partir de l'output de build)

  4. Journaux de build (copier l'output terminal complet)

  5. Informations sur l'environnement

    Fenêtre de terminal
    node --version
    npm --version
    bunx @capgo/cli@latest --version

Limites actuelles :

  • Temps de construction maximum : 10 minutes
  • Taille de téléchargement maximale : ~500 Mo
  • Les builds iOS nécessitent des locations de Mac de 24 heures, construire sur Mac mettra en file d'attente pour garantir un usage optimal
  • La disponibilité du téléchargement des artefacts de construction dépend de la destination de la construction et de la configuration de stockage des artefacts

Ceux-ci peuvent être ajustés en fonction des retours d'informations.