Saltare al contenuto

Risolvere i Problemi

Soluzioni per problemi comuni quando si costruiscono applicazioni native con Capgo Cloud Build.

Sintomi:

  • La costruzione fallisce durante l'upload del progetto
  • Errori di timeout dopo 60 secondi

Soluzioni:

  1. Controlla la tua connessione internet

    Finestra del terminale
    # Test connection to Capgo
    curl -I https://api.capgo.app
  2. Riduci la dimensione del progetto

    • Assicurati node_modules/ __CAPGO_KEEP_0__ non sta venendo caricato (dovrebbe essere escluso automaticamente)
    • Controlla i file grandi nel tuo progetto:
    Finestra del terminale
    find . -type f -size +10M
  3. Controlla la scadenza dell'URL di caricamento

    • Gli URL di caricamento scadono dopo 1 ora
    • Se ricevi un errore di URL scaduto, esegui nuovamente il comando di costruzione

Sintomi:

  • Il build supera il tempo massimo consentito
  • Lo stato mostra timeout

Soluzioni:

  1. Optimizza le dipendenze

    • Elimina i pacchetti npm non utilizzati
    • Usa npm prune --production prima di costruire
  2. Verifica le problematiche di rete durante la costruzione

    • Alcune dipendenze possono scaricare file grandi durante la costruzione
    • Considera il pre-caching con un file di blocco
  3. Revisiona le dipendenze native

    Finestra del terminale
    # iOS - check Podfile for heavy dependencies
    cat ios/App/Podfile
    # Android - check build.gradle
    cat android/app/build.gradle
  4. Contatta il supporto

    • Se il tuo app ha effettivamente bisogno di più tempo
    • Possiamo regolare i limiti per casi d'uso specifici

”API chiave non valida” o “Non autorizzato”

Sezione intitolata “”API chiave non valida” o “Non autorizzato””

Sintomi:

  • La costruzione fallisce immediatamente con un errore di autenticazione
  • Errori 401 o 403

Soluzioni:

  1. Verifica che la API chiave sia corretta

    Finestra del terminale
    # Test with a simple command
    npx @capgo/cli@latest app list
  2. Verifica i permessi della API chiave

    • La chiave deve avere write o all permessi
    • Verifica in Capgo dashboard sotto API Chiavi
  3. Assicurati che la chiave API venga letta

    Finestra del terminale
    # Check environment variable
    echo $CAPGO_TOKEN
    # Or verify local .capgo file
    cat .capgo
  4. Riaccreditati

    Finestra del terminale
    npx @capgo/cli@latest login

“L'app non è stata trovata” o “Nessuna autorizzazione per questa app”

Sezione intitolata “L'app non è stata trovata” o “Nessuna autorizzazione per questa app”

Sintomi:

  • La verifica dell'autenticazione funziona, ma si verificano errori specifici dell'app

Soluzioni:

  1. Verifica se l'app è registrata

    Finestra del terminale
    npx @capgo/cli@latest app list
  2. Verifica che l'ID dell'app corrisponda

    • Verifica capacitor.config.json ID dell'app
    • Assicurati che il comando utilizzi l'ID dell'app corretto
  3. Verifica l'accesso all'organizzazione

    • Verifica di essere nella organizzazione corretta
    • Il API deve avere accesso all'organizzazione dell'app

Sintomi:

  • La costruzione fallisce durante la fase di firma code
  • Errori di Xcode relativi a certificati o profili

Soluzioni:

  1. Verifica che il tipo di certificato corrisponda al tipo di costruzione

    • Le costruzioni di sviluppo richiedono certificati di sviluppo
    • Le costruzioni per l'App Store richiedono certificati di distribuzione
  2. Controlla che il certificato e il profilo corrispondano

    Finestra del terminale
    # 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. Assicurati che il profilo di provisioning sia valido

    • Controlla la data di scadenza
    • Verifica che includa il tuo ID App
    • Conferma che includa il certificato
  4. Regenera le credenziali

    • Elimina il vecchio certificato/profilo
    • Crea nuovi in Apple Developer portal
    • Riaccodifica e aggiorna le variabili di ambiente

”Il profilo di provisioning non include il certificato di firma”

Sezione intitolata “”Il profilo di provisioning non include il certificato di firma””

Sintomi:

  • L'Xcode non riesce a trovare il certificato nel profilo

Soluzioni:

  1. Scarica il profilo più recente da Apple

    • Vai a Apple Developer → Certificati, ID e profili
    • Scarica il profilo di provisioning
    • Assicurati che includa il tuo certificato
  2. Verifica che il certificato sia nel profilo

    Fenestra del terminale
    # Extract profile
    echo $BUILD_PROVISION_PROFILE_BASE64 | base64 -d > profile.mobileprovision
    # View profile contents
    security cms -D -i profile.mobileprovision
  3. Ricrea il profilo con il certificato corretto

    • In portal dello sviluppatore di Apple, modifica il profilo
    • Assicurati di aver selezionato il certificato di distribuzione
    • Scarica e ricodifica

”Autenticazione App Store Connect fallita”

Sintomo: Autenticazione App Store Connect fallita

Sintomi:

  • L'upload a TestFlight fallisce
  • Errori di chiave API

Soluzioni:

  1. Verifica le credenziali di chiave API

    • Controlla APPLE_KEY_ID (dovrebbe essere 10 caratteri)
    • Controlla APPLE_ISSUER_ID (dovrebbe essere nel formato UUID)
    • Verifica che APPLE_KEY_CONTENT sia correttamente codificato in base64
  2. Testa la chiave API localmente

    Finestra del terminale
    # Decode key
    echo $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8
    # Test with fastlane (if installed)
    fastlane pilot list
  3. Controlla le autorizzazioni della chiave API

    • La chiave richiede il ruolo 'Developer' o un ruolo superiore
    • Verifica in App Store Connect → Utenti e accessi → Chiavi
  4. Assicurati che la chiave non sia revocata

    • Controlla in App Store Connect
    • Genera una nuova chiave se necessario

Sintomi:

  • I fallimenti di costruzione si verificano durante l'installazione di CocoaPods
  • Errori in Podfile

Soluzioni:

  1. Verifica che Podfile.lock sia stato commesso

    Finestra del terminale
    git status ios/App/Podfile.lock
  2. Testa l'installazione del pod localmente

    Finestra del terminale
    cd ios/App
    pod install
  3. Controlla per pods incompatibili

    • Verifica Podfile per conflitti di versione
    • Assicurati che tutti i pods supportino il tuo target di distribuzione iOS
  4. Elimina cache del pod

    Fenestra del terminale
    cd ios/App
    rm -rf Pods
    rm Podfile.lock
    pod install
    # Then commit new Podfile.lock

Sintomi:

  • Il build fallisce durante la firma
  • Gli errori di Gradle riguardano la chiave segreta

Soluzioni:

  1. Verifica la password della chiave segreta

    Finestra del terminale
    # Test keystore locally
    keytool -list -keystore my-release-key.keystore
    # Enter password when prompted
  2. Verifica le variabili di ambiente

    Finestra del terminale
    # Ensure no extra spaces or special characters
    echo "$KEYSTORE_STORE_PASSWORD" | cat -A
    echo "$KEYSTORE_KEY_PASSWORD" | cat -A
  3. Verifica l'encoding base64

    Finestra del terminale
    # Decode and test
    echo $ANDROID_KEYSTORE_FILE | base64 -d > test.keystore
    keytool -list -keystore test.keystore

Sintomi:

  • La firma fallisce con errore di alias

Soluzioni:

  1. Elenco alias del keystore

    Finestra del terminale
    keytool -list -keystore my-release-key.keystore
  2. Verifica che l'alias corrisponda esattamente

    • L'alias è case-sensitive
    • Controlla per errori di battitura in KEYSTORE_KEY_ALIAS
  3. Utilizza l'alias corretto dal keystore

    Finestra del terminale
    # Update environment variable to match
    export KEYSTORE_KEY_ALIAS="the-exact-alias-name"

Sintomi:

  • Error di Gradle generici
  • Problemi di compilazione o dipendenze

Soluzioni:

  1. Testa prima la costruzione locale

    Finestra del terminale
    cd android
    ./gradlew clean
    ./gradlew assembleRelease
  2. Verifica la presenza di dipendenze mancanti

    • Rivista i file build.gradle
    • Assicurati che tutti i plugin siano elencati nelle dipendenze
  3. Verifica la compatibilità della versione di Gradle

    Finestra del terminale
    # Check gradle version
    cat android/gradle/wrapper/gradle-wrapper.properties
  4. Pulisci cache Gradle

    Finestra del terminale
    cd android
    ./gradlew clean
    rm -rf .gradle build

”Play Store upload failed”

Errore di caricamento su Play Store

Sezione intitolata “Errore di caricamento su Play Store”

  • Sintomi:
  • L'edizione ha successo ma il caricamento fallisce

Errori di account di servizio

  1. Soluzioni:

    Verifica il file JSON dell'account di servizio in esecuzione nel terminale
    # Decode and check format
    echo $PLAY_CONFIG_JSON | base64 -d | jq .
  2. Verifica i permessi dell'account di servizio

    • Vai al Console di Gioco → Configurazione → API Accesso
    • Assicurati che l'account di servizio abbia accesso alla tua app
    • Concedi la “Rilascio ai percorsi di testing”
  3. Verifica che l'app sia configurata nel Console di Gioco

    • L'app deve essere creata nel Console di Gioco prima
    • Almeno un APK deve essere caricato manualmente inizialmente
  4. Verifica che API sia abilitato

    • Il Google Play Developer API deve essere abilitato
    • Verifica nel Console di Google Cloud

”Job not found” or “Build status unavailable”

o non disponibile”

Sezione intitolata “ Benson non trovato” o “ non disponibile””

  • Sintomi:
  • Non è possibile verificare lo stato di costruzione

Errori di ID di lavoro

  1. Soluzioni:

    • Aspetta un momento e riprova
  2. I lavori di costruzione possono richiedere alcuni secondi per inizializzare

    • Verifica che l'ID del lavoro sia corretto
  3. Verifica l'ID del lavoro dalla risposta di costruzione iniziale

    • La build dei dati è disponibile per 24 ore

”Fallita sincronizzazione del progetto”

Sintomo: Fallita sincronizzazione del progetto

Sintomi:

  • La build fallisce prima dell'inizio della compilazione
  • Errori di file mancanti

Soluzioni:

  1. Esegui Capacitor sincronizzazione locale

    Fenestra del terminale
    npx cap sync
  2. Assicurati che tutti i file nativi siano stati commessi

    Fenestra del terminale
    git status ios/ android/
  3. Controlla i file nativi ignorati dal Git

    • Revisiona .gitignore
    • Assicurati che i file di configurazione importanti non vengano ignorati

Sintomi:

  • Il build mostra successo ma non c’è il link di download

Soluzioni:

  1. Controlla la configurazione del build

    • La memorizzazione degli artefatti potrebbe non essere configurata
    • Contatta il supporto se l'accesso agli artefatti non è disponibile per il tuo build
  2. Per la sottoscrizione di TestFlight di iOS

    • Verifica App Store Connect
    • Il processo potrebbe richiedere 5-30 minuti dopo l'upload
  3. Per il negozio Play di Android

    • Verifica Console Play → Testing → Test interni
    • Il processo potrebbe richiedere alcuni minuti

Sintomi:

  • npx @capgo/cli fallisce in CI

Soluzioni:

  1. Assicurati di aver installato Node.js

    - uses: actions/setup-node@v6
    with:
    node-version: '24'
  2. Installa CLI esplicitamente

    - run: npm install -g @capgo/cli

Sintomi:

  • Variabili di ambiente vuote in fase di costruzione

Soluzioni:

  1. Verifica che i segreti siano impostati

    • Vai alle impostazioni del repository → Segreti e variabili → Azioni
    • Aggiungi tutti i segreti richiesti
  2. Usa la sintassi corretta

    env:
    CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
  3. Verifica che i nomi dei segreti corrispondano

    • I nomi sono case-sensitive
    • Nessi errori di ortografia nelle referenze ai segreti
Finestra del terminale
# Add debug flag (when available)
npx @capgo/cli@latest build com.example.app --verbose

Quando contatti il supporto, includi:

  1. Comando di costruzione utilizzato

    Finestra del terminale
    npx @capgo/cli@latest build com.example.app --platform ios
  2. Messaggio di errore (output completo)

  3. ID del lavoro (dal output di costruzione)

  4. Log di costruzione (copia output completo del terminale)

  5. Informazioni sull'ambiente

    Finestra del terminale
    node --version
    npm --version
    npx @capgo/cli --version

Limitazioni correnti:

  • Tempo massimo di costruzione: 10 minuti
  • Dimensione massima di caricamento: ~500MB
  • I build iOS richiedono leasing Mac di 24 ore, costruisci su Mac per enqueuing per garantire l'uso ottimale
  • La disponibilità del download degli artefatti di costruzione dipende dalla destinazione di costruzione e dalla configurazione di archiviazione degli artefatti

Queste limitazioni possono essere aggiustate in base alle risposte del feedback.