Troubleshooting
Copia un prompt di configurazione con le istruzioni di installazione e la guida markdown completa per questo plugin.
Soluzioni per i problemi comuni quando si costruiscono applicazioni native con Capgo Cloud Build.
Fallimenti di costruzione
Sezione intitolata “Fallimenti di costruzione”“Fallito l'upload” o “Timeout di connessione”
Sezione intitolata ““Fallito l'upload” o “Timeout di connessione””Sintomi:
- Build fails during project upload
- Errori di timeout dopo 60 secondi
Soluzioni:
-
Controlla la tua connessione internet
Fenestra del terminale # Test connection to Capgocurl -I https://api.capgo.app -
Riduci la dimensione del progetto
- Assicurati
node_modules/non stia caricando (dovrebbe essere escluso automaticamente) - Controlla i file grandi nel tuo progetto:
Fenestra del terminale find . -type f -size +10M - Assicurati
-
Controlla la scadenza dell'URL di caricamento
- Gli URL di caricamento scadono dopo 1 ora
- If si ottiene un errore di URL scaduto, riprovare con il comando di costruzione
“Timeout di costruzione dopo 10 minuti”
Sottosezione intitolata ““Timeout di costruzione dopo 10 minuti””Sintomi:
- La costruzione supera il tempo massimo consentito
- Lo stato mostra
timeout
Soluzioni:
-
Optimizza dipendenze
- Elimina pacchetti inutilizzati npm
- Usa
npm prune --productionprima di costruire
-
Controlla problemi di rete durante la costruzione
- Alcune dipendenze possono scaricare file grandi durante la costruzione
- Considera il pre-caching con un file di blocco
-
Verifica le dipendenze native
Fenestra del terminale # iOS - check Podfile for heavy dependenciescat ios/App/Podfile# Android - check build.gradlecat android/app/build.gradle -
Contatta il supporto
- Se il tuo app ha effettivamente bisogno di più tempo
- Potremmo regolare i limiti per casi d'uso specifici
Problemi di autenticazione
Sottosezione intitolata “Problemi di autenticazione”“API chiave non valida” o “Non autorizzato”
Sottosezione intitolata ““API chiave non valida” o “Non autorizzato””Sintomi:
- La costruzione fallisce immediatamente con un errore di autenticazione
- Errori 401 o 403
Soluzioni:
-
Verifica che la API chiave sia corretta
Fenestra del terminale # Test with a simple commandbunx @capgo/cli@latest app list -
Verifica le API autorizzazioni chiave
- La chiave deve avere
writeoallpermissions - Controlla nel Capgo dashboard sotto API Chiavi
- La chiave deve avere
-
Assicurarsi che la chiave API venga letta
Copia nel portapenna # Check environment variableecho $CAPGO_TOKEN# Or check your saved credentials filecat ~/.capgo-credentials/credentials.json # globalcat .capgo-credentials.json # local (--local) -
Re-authenticate
Copia nel portapenna bunx @capgo/cli@latest login
"App non trovata" o "Nessuna autorizzazione per questa app"
Sezione intitolata ““App non trovata” o “Nessuna autorizzazione per questa app”””Sintomi:
- Authentication works but app-specific error
Soluzioni:
-
Verifica che l'app sia registrata
Finestra del terminale bunx @capgo/cli@latest app list -
Controlla che l'ID dell'app corrisponda
- Verifica
capacitor.config.jsonappId - Ensure command uses correct app ID
- Verifica
-
Verifica l'accesso all'organizzazione
- Controlla di essere nella organizzazione corretta
- La chiave API deve avere accesso all'organizzazione dell'app
I Problemi di Costruzione per iOS
Problemi di costruzione per iOS“La firma con Code è fallita”
Sottosezione intitolata ““La firma con Code è fallita””Sintomi:
- Il build fallisce durante la fase di firma code.
- Error Xcode relativi a certificati o profili
Soluzioni:
-
Verify certificate type matches build type
- I build di sviluppo richiedono certificati di sviluppo
- Le costruzioni dell'App Store richiedono certificati di distribuzione
-
Controlla certificato e profilo di corrispondenza
Finestra del terminale # Decode and inspect your certificateecho $BUILD_CERTIFICATE_BASE64 | base64 -d > cert.p12openssl pkcs12 -in cert.p12 -nokeys -passin pass:$P12_PASSWORD | openssl x509 -noout -subject -
Assicurati che il profilo di provisioning sia valido
- Verifica la data di scadenza
- Verifica che includa il tuo ID App
- Conferma che includa il certificato
-
Regenera le credenziali
- Elimina il vecchio certificato/profilo
- Crea nuovi in Apple Developer portal
- Riaccodifica e aggiorna le variabili di ambiente
Profilo di provisioning non include certificato di firma
Profilo di provisioning non include certificato di firmaSintomi:
- Xcode non riesce a trovare il certificato nel profilo
Soluzioni:
-
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
-
Verifica che il certificato sia nel profilo
Finestra del terminale # Extract profileecho $BUILD_PROVISION_PROFILE_BASE64 | base64 -d > profile.mobileprovision# View profile contentssecurity cms -D -i profile.mobileprovision -
Ricrea il profilo con il certificato corretto
- In portallo sviluppatore Apple, modifica il profilo
- Assicurati di aver selezionato il certificato di distribuzione
- Scarica e ricodifica
“Autenticazione App Store Connect fallita”
Sottosezione intitolata “Autenticazione App Store Connect fallita”Sintomi:
- La pubblicazione su TestFlight fallisce
- Errori relativi alla chiave API
Soluzioni:
-
Verifica le credenziali della chiave API
- Controlla APPLE_KEY_ID (dovrebbe essere di 10 caratteri)
- Controlla APPLE_ISSUER_ID (che dovrebbe essere nel formato UUID)
- Verifica che APPLE_KEY_CONTENT sia correttamente codificato in base64
-
Sincronizza l'orologio del computer
- L'autenticazione di App Store Connect utilizza JWT a breve scadenza generati dal tempo del sistema locale
- Gli Apple rifiutano i token che scadranno dopo più di 20 minuti, quindi anche piccoli disallineamenti orari possono rendere un altrimenti valido token non valido
- Su Windows, apri Impostazioni > Tempo e lingua > Data e ora > e clicca Sincronizza ora
- Su macOS, apri Impostazioni del sistema > Generale > Data e ora > e abilita la sincronizzazione automatica dell'orologio
- On Linux, controlla
timedatectl statuse abilita NTP se necessario - Dopo aver sincronizzato, esegui nuovamente il Capgo build o il comando delle credenziali
Vedi Apple’s Testa la chiave API localmente documentazione per la regola di durata del token di App Store Connect
-
Test chiave API in locale
Controlla le autorizzazioni della chiave __CAPGO_KEEP_0__ # Decode keyecho $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8# Test with fastlane (if installed)fastlane pilot list -
Controlla le autorizzazioni della chiave API
- Key needs “Developer” role or higher
- Verifica in App Store Connect -> Utenti e accessi -> Chiavi
-
Assicurati che la chiave non sia revocata
- Controlla su App Store Connect
- Genera una nuova chiave se necessario
“Installazione Pod fallita”
Sezione intitolata ““Installazione Pod fallita””Sintomi:
- Il build fallisce durante l'installazione di CocoaPods
- Errori in Podfile
Soluzioni:
-
Verifica che Podfile.lock sia commesso
Fenestra del terminale git status ios/App/Podfile.lock -
Esegui installazione pod localmente
Finestra del terminale cd ios/Apppod install -
Verifica per pods incompatibili
- Verifica Podfile per conflitti di versione
- Assicurarsi che tutti i pod supportino la versione di destinazione iOS
-
Pulisci cache pod
Finestra del terminale cd ios/Apprm -rf Podsrm Podfile.lockpod install# Then commit new Podfile.lock
Problemi di costruzione Android
Sezione intitolata “Problemi di costruzione Android”“Password della chiave segreta sbagliata”
Sezione intitolata ““Password della chiave di sicurezza errata”””Sintomi:
- Il build fallisce durante la firma
- Errori Gradle relativi al keystore
Soluzioni:
-
Verifica la password del keystore
Fenestra del terminale # Test keystore locallykeytool -list -keystore my-release-key.keystore# Enter password when prompted -
Controlla le variabili di ambiente
Fenestra del terminale # Ensure no extra spaces or special charactersecho "$KEYSTORE_STORE_PASSWORD" | cat -Aecho "$KEYSTORE_KEY_PASSWORD" | cat -A -
Verifica l'encoding base64
Finestra del terminale # Decode and testecho $ANDROID_KEYSTORE_FILE | base64 -d > test.keystorekeytool -list -keystore test.keystore
“Alias della chiave non trovato”
Sezione intitolata ““Alias della chiave non trovato”””Sintomi:
- La firma fallisce con errore di alias
Soluzioni:
-
Elenco alias del keystore
Finestra del terminale keytool -list -keystore my-release-key.keystore -
Verifica che l'alias corrisponda esattamente
- L'alias è case-sensitive
- Check for typos in KEYSTORE_KEY_ALIAS
-
Utilizza l'alias corretto dal keystore
Finestra del terminale # Update environment variable to matchexport KEYSTORE_KEY_ALIAS="the-exact-alias-name"
“Errore di build di Gradle”
Sezione intitolata ““Errore di build di Gradle”””Sintomi:
- Errori di Gradle generici
- Problemi di compilazione o di dipendenze
Soluzioni:
-
Testa prima il build locale
Finestra del terminale cd android./gradlew clean./gradlew assembleRelease -
Verifica la presenza di dipendenze mancanti
- Rivista i file build.gradle
- Assicurati che tutti i plugin siano elencati nelle dipendenze
-
Verifica la compatibilità della versione di Gradle
Finestra del terminale # Check gradle versioncat android/gradle/wrapper/gradle-wrapper.properties -
Pulisci il cache di Gradle
Finestra del terminale cd android./gradlew cleanrm -rf .gradle build
“Fallito l'upload su Play Store”
Sezione intitolata ““Fallito l'upload su Play Store””Sintomi:
- Il build ha successo ma l'upload fallisce
- Errori di account di servizio
Soluzioni:
-
Verifica il file JSON dell'account di servizio
Finestra del terminale # Decode and check formatecho $PLAY_CONFIG_JSON | base64 -d | jq . -
Controlla i permessi dell'account di servizio
- Vai a Console di Gioco → Impostazioni → API Accesso
- Assicurati che l'account di servizio abbia accesso alla tua app
- Concedi il permesso di rilascio per le tracce di testing
-
Verifica che l'app sia configurata nel Console Gioco
- L'app deve essere creata inizialmente nel Console di Gioco
- Deve essere caricato almeno un APK manualmente inizialmente
-
Verifica che API sia abilitato
- Il API del Developer di Google Play deve essere abilitato
- Verifica nel Console di Cloud di Google
Problemi Generali
Sezione intitolata “Problemi Generali”“Non trovato il lavoro” o “Stato di costruzione non disponibile”
Sezione intitolata ““Non trovato il lavoro” o “Stato di costruzione non disponibile””Sintomi:
- Impossibile verificare lo stato di costruzione
- Errori di ID del lavoro
Soluzioni:
-
Aspetta un momento e riprova
- Build jobs may take a few seconds to initialize
-
Controlla che l'ID del job sia corretto
- Verifica l'ID del job dalla risposta di costruzione iniziale
-
Controlla che la costruzione non sia scaduta
- I dati di costruzione sono disponibili per 24 ore
“La sincronizzazione del progetto è fallita”
Sezione intitolata ““Fallito sincronizzazione progetto””Sintomi:
- La costruzione fallisce prima che inizi la compilazione
- Errori di file mancanti
Soluzioni:
-
Esegui Capacitor in locale sincronizzando
Finestra del terminale bunx cap sync -
Assicurati che tutti i file nativi siano commessi
Finestra del terminale git status ios/ android/ -
Verifica i file nativi ignorati da Git
- Revisiona .gitignore
- Ensure important config files aren’t ignored
“Il build è riuscito ma non vedo l'output”
Sezione intitolata ““Il build è riuscito ma non vedo l'output””Sintomi:
- Build shows success but no download link
Soluzioni:
-
Controlla la configurazione della costruzione
- Artifact storage may not be configured
- Contatta il supporto se l'accesso agli artefatti non è disponibile per la tua build
-
Per la sottoscrizione di TestFlight per iOS
- Per la sottoscrizione di TestFlight per iOS
- Il processo potrebbe richiedere 5-30 minuti dopo l'upload
-
Per Problemi di Android Store
- Per la sottoscrizione di Play Store per Android
- Il processo potrebbe richiedere alcuni minuti
Costruzione riuscita ma l'artifact è sbagliato dopo un cambio di ambiente
Sezione intitolata “Costruzione riuscita ma l'artifact è sbagliato dopo un cambio di ambiente”Sintomi:
- Lo stato di costruzione è
successma l'IPA/AAB/APK non corrisponde alla branch o al flavor che hai appena costruito - L'AAB Android mancante o sbagliato dopo aver cambiato le credenziali RC vs produzione o
--android-flavor - Il build termina in modo sospetto velocemente appena si cambia la configurazione di firma o il flavor del prodotto.
Causa: Capgo ripristina il cache di costruzione per-app di default (omissione cache_key per il cache generale condiviso). Se RC e produzione condividono lo stesso ID dell'app senza chiavi separate, un ripristino può riutilizzare l'output compilato dal precedente ambiente.
Soluzioni:
-
Usa una chiave di cache per ambiente (consigliato per pipeline RC/PROD in corso):
Finestra del terminale # Productionbunx @capgo/cli@latest build request com.example.app --platform android \--cache-key=prod \--android-flavor production# Staging / RCbunx @capgo/cli@latest build request com.example.app --platform android \--cache-key=staging \--android-flavor staging -
Forza una costruzione pulita quando si debugga:
Finestra del terminale bunx @capgo/cli@latest build request com.example.app --platform android --no-cache -
In API o integrazioni webhook, passa
cache_key(ad esempio"prod"o) o setcache_enabled: falseper una sola esecuzione pulita.
Vedi Build cache per la riferimento completo delle opzioni.
Issue specifici del CI/CD
Sottosezione intitolata “Issue specifici del CI/CD”GitHub Azioni: “Comando non trovato”
Sottosezione intitolata “GitHub Azioni: “Comando non trovato””Sintomi:
bunx @capgo/cli@latest …fallisce in CI con “comando non trovato”
Soluzioni:
-
Configura Bun prima di tutto quindi
bunxè disponibile:- uses: oven-sh/setup-bun@v2 -
Esegui quindi il CLI —
bunxlo carica a richiesta, non è necessaria l'installazione globale:- run: bunx @capgo/cli@latest build request com.example.app --platform android
GitHub Azioni: "Segreti non trovati"
Sezione intitolata "GitHub Azioni: "Segreti non trovati""Sintomi:
- Variabili di ambiente vuote in fase di costruzione
Soluzioni:
-
Verifica che i segreti siano impostati
- Vai alle impostazioni del repository → Segreti e variabili → Azioni
- Aggiungi tutti i segreti richiesti
-
Usa la sintassi corretta
env:CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} -
Controlla che i nomi dei segreti corrispondano
- I nomi sono case-sensitive
- Nessun errore di ortografia nelle referenze ai segreti
Ottenere Maggiore Aiuto
Sezione intitolata “Ottenere Maggiore Aiuto”Abilita Registro dei Log Dettagliato
Sezione intitolata “Abilita Registro dei Log Dettagliato”# Add debug flag (when available)bunx @capgo/cli@latest build request com.example.app --verboseRaccogli informazioni di costruzione
Sezione intitolata “Raccogli informazioni di costruzione”Quando si contatta il supporto, includere:
-
Comando di costruzione utilizzato
Finestra del terminale bunx @capgo/cli@latest build request com.example.app --platform ios -
Messaggio di errore (output completo)
-
ID del lavoro (dal output di costruzione)
-
Build logs (copia l'output del terminale completo)
-
Informazioni sull'ambiente
Fenestra del terminale node --versionnpm --versionbunx @capgo/cli@latest --version
Contattare il Supporto
Section titled “Contact Support”- Discord: Unisciti alla nostra community
- Email: supporto@capgo.app
- Documentation: Capgo Documenti
Limitazioni note
Sezione intitolata “Limitazioni note”Limitazioni attuali:
- Tempo di costruzione massimo: 10 minuti
- Dimensione massima dell'upload: ~500MB
- I costruzioni per iOS richiedono leasing Mac di 24 ore, costruisci su Mac per assicurare l'uso ottimale
- Build artifact download availability depends on build destination and artifact storage configuration
Queste limitazioni possono essere adattate in base alle risposte dei utenti.
Il prescan ha bloccato la mia costruzione
Section titled “Prescan blocked my build”Capgo esegue una costruzione locale prescan prima dell'upload. Correggi il trovare segnalato, o ignora solo quel controllo id:
npx @capgo/cli@latest build request <appId> --platform ios \ --prescan-skip ios/capacitor-server-url-shippedVedi il catalogo completo: Verifica prescan.
Risorse aggiuntive
Sezione intitolata “Risorse aggiuntive”- Avvio rapido - Guida di avvio iniziale
- Opzioni di configurazione - flag CLI inclusi
--cache-keye--no-cache - Costruzioni iOS - Configurazione specifica per iOS
- Istruzioni per la costruzione Android - Configurazione specifica per Android
- Verifica pre-scansione - Full list of pre-build checks and ignore flags
- Riferimento CLI - Documentazione completa della riga di comando