Passer à la navigation

Ressources supplémentaires

Résolutions aux problèmes courants lors de la construction d'applications natives avec Capgo Cloud Build.

”Upload failed” or “Connection timeout”

ou « »

Section intitulée « » ou « »

  • Symptômes :
  • La construction échoue lors de l'upload du projet

Erreurs de temps limite après 60 secondes

  1. Solutions :

    Vérifiez votre connexion Internet
    # Test connection to Capgo
    curl -I https://api.capgo.app
  2. Copier dans le presse-papier

    • Réduire la taille du projet node_modules/ ne sont pas téléchargés (devraient être automatiquement exclus)
    • Vérifiez la présence de gros fichiers dans votre projet :
    Fenêtre de terminal
    find . -type f -size +10M
  3. Vérifiez l'expiration de l'URL de téléchargement

    • Les URL de téléchargement expirent après 1 heure
    • Si vous obtenez une erreur d'URL expirée, relancez la commande de build

Symptômes :

  • La construction dépasse le temps maximum autorisé
  • Le statut affiche timeout

Solutions :

  1. Optimisez les dépendances

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

    • Certains dépendants peuvent télécharger des fichiers volumineux lors de la construction
    • Considérez la mise en cache préalable avec un fichier de verrouillage
  3. Examinez 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

    • Si votre application a besoin légitimement de plus de temps
    • Nous pouvons ajuster les limites pour des cas d'utilisation spécifiques

Problèmes d'authentification

Problèmes d'authentification

Clé « API » invalide ou « Non autorisé »

Clé « Clé API » invalide ou « Non autorisé »

Symptômes :

  • La construction échoue immédiatement avec un erreur d'authentification
  • 401 ou 403 erreurs

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 Vérifiez dans le tableau de bord __CAPGO_KEEP_0__ sous __CAPGO_KEEP_1__ Clés
    • Check in Capgo dashboard under API Keys
  3. Ensure API key is being read

    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

“L'application n'a pas été trouvée” ou “Aucune autorisation pour cette application”

Section intitulée “L'application n'a pas été trouvée” ou “Aucune autorisation pour cette application””

Symptômes :

  • L'authentification fonctionne mais erreur spécifique à l'application

Solutions :

  1. Vérifier que l'application est enregistrée

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

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

    • Vérifiez que vous êtes dans l'organisation correcte
    • API doit avoir accès à l'organisation de l'application

Symptômes :

  • La construction échoue pendant la phase de signature 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 pour 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 contient votre ID d'application
    • Confirmez qu'il inclut le certificat
  4. Régeneratez les informations d'identification

    • Supprimez le certificat/le profil ancien
    • Créez-en de nouveaux dans le portail Apple Developer
    • Recodez et mettez à jour les variables d'environnement

Profil de provisionnement ne contient pas le certificat de signature

Section intitulée « Profil de provisionnement ne contient pas le certificat de signature »

Symptômes :

  • Xcode ne peut pas trouver le certificat dans le profil

Solutions :

  1. Téléchargez le dernier profil depuis Apple

    • Allez à Apple Developer → Certificats, Identifiants & Profils
    • Télécharger le profil de provisionnement
    • Vérifiez qu'il inclut votre certificat
  2. Vérifiez que votre 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, éditez le profil
    • Vérifiez que votre certificat de distribution est sélectionné
    • Télécharger et ré-encoder

”Échec de l'authentification App Store Connect”

Section intitulée “”Échec de l'authentification App Store Connect””

Symptômes :

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

Solutions :

  1. Vérifiez les informations de clé API

    • Vérifiez APPLE_KEY_ID (il doit comporter 10 caractères)
    • Vérifiez APPLE_ISSUER_ID (il doit être au format UUID)
    • Vérifiez que APPLE_KEY_CONTENT est correctement encodé en base64
  2. Synchronisez l'horloge de votre ordinateur

    • L'authentification sur App Store Connect utilise des jetons JWT à durée de vie courte générés à partir de l'heure système locale
    • Apple rejette les jetons qui expirent plus de 20 minutes à l'avenir, même un léger décalage horaire peut rendre une clé valide
    • Ouvrez Paramètres > Heure et langue > Date et heure et cliquez Synchronisez maintenant
    • Sur macOS, ouvrez Réglages système > Général > Date et heure et activez la synchronisation automatique de l'heure
    • Sur Linux, vérifiez timedatectl status et activez NTP si nécessaire
    • Après synchronisation, réexécutez la commande de construction ou de crédentials Capgo

    Consultez la documentation d'Apple sur Génération de jetons pour les requêtes API la règle de durée de vie du jeton App Store Connect.

  3. 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
  4. 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
  5. Assurez-vous 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 :

  • Les builds échouent 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. Testez l'installation de pod localement

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

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

    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 la clé de signature

Solutions :

  1. Vérifiez le mot de passe de la clé de signature

    Fenêtre de terminal
    # Test keystore locally
    keytool -list -keystore my-release-key.keystore
    # Enter password when prompted
  2. Vérifier 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érifier 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 :

  • L'authentification signe avec une erreur d'alias

Solutions :

  1. Lister les alias de clés de magasin

    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érifier les fautes d'orthographe dans KEYSTORE_KEY_ALIAS
  3. Utiliser l'alias correct issu du magasin de clés

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

Symptômes :

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

Solutions :

  1. Testez une construction locale en premier

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

    • Examinez les fichiers build.gradle
    • Assurez-vous que toutes les plugins soient listés 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. Vider 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érifier le fichier JSON de compte de service

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

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

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

    • Le compte de développeur Google Play API doit être activé
    • Vérifiez dans le console de Google Cloud

”Job not found” or “Build status unavailable”

Section intitulée « » ou « Statut de construction indisponible » »

Symptômes :

  • Impossible de vérifier le statut de construction
  • Erreurs d'ID de tâche

Solutions :

  1. Attendez un moment et réessayez

    • Les tâches de construction peuvent prendre quelques secondes pour s'initialiser
  2. Vérifiez que l'ID de la tâche est correct

    • Vérifiez l'ID de la tâche à partir de la réponse de construction initiale
  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 localement

    Fenêtre de terminal
    bunx cap sync
  2. Assurez-vous que tous les fichiers natifs sont commités

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

    • Réviser .gitignore
    • S'assurer que les fichiers de configuration importants ne sont pas ignorés

”Le bâtiment a réussi mais je ne vois pas de sortie”

Section intitulée “”Le bâtiment a réussi mais je ne vois pas de sortie””

Symptômes :

  • La construction montre un succès mais pas de lien de téléchargement

Solutions :

  1. Vérifier la configuration de la construction

    • Le stockage des artefacts peut ne pas être configuré
    • Contactez le support si l'accès aux artefacts est indisponible pour votre construction
  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 Google 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 il 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 configurés

    • 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 aux 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 tâche (de l'output de build)

  4. Journaux de build (copier la sortie complète de la console)

  5. Informations sur l'environnement

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

Contactez le Support

Discord

Limites actuelles :

  • Temps de construction maximum : 10 minutes
  • Taille maximale de téléchargement : ~500Mo
  • Les builds iOS nécessitent des locations Mac de 24 heures, la construction sur Mac sera 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

Ces limites peuvent être ajustées en fonction des retours d'information.

Capgo exécute une analyse locale préscanner avant l'upload. Corrigez le problème signalé, ou ignorez uniquement ce contrôl’id :

fenêtre de terminal
npx @capgo/cli@latest build request <appId> --platform ios \
--prescan-skip ios/capacitor-server-url-shipped

Voir le catalogue complet : Les vérifications de préscanner.