Vai al contenuto

Gestione delle Credenziali

Gestisci le tue credenziali di build iOS e Android localmente per comode build cloud.

CLI Capgo ti consente di salvare le credenziali di build localmente sul tuo computer nella cartella .capgo-credentials. Quando esegui una build, queste credenziali vengono automaticamente utilizzate e inviate in modo sicuro ai server di build di Capgo.

Memorizza le tue credenziali di build localmente per l’uso automatico:

Terminal window
npx @capgo/cli build credentials save --platform <ios|android> [opzioni]

Visualizza le credenziali attualmente salvate (le password sono mascherate):

Terminal window
npx @capgo/cli build credentials list

Rimuovi le credenziali salvate dal tuo computer locale:

Terminal window
# Cancella tutte le credenziali
npx @capgo/cli build credentials clear
# Cancella solo le credenziali iOS
npx @capgo/cli build credentials clear --platform ios
# Cancella solo le credenziali Android
npx @capgo/cli build credentials clear --platform android
Terminal window
npx @capgo/cli build credentials save \
--platform ios \
--certificate ./cert.p12 \
--p12-password "YourP12Password" \
--provisioning-profile ./profile.mobileprovision \
--apple-key ./AuthKey_ABC1234567.p8 \
--apple-key-id "ABC1234567" \
--apple-issuer-id "00000000-0000-0000-0000-000000000000" \
--apple-team-id "TEAM123456"
OpzioneDescrizioneRichiesto
--certificate <percorso>Percorso al file certificato .p12Sì (rilascio)
--p12-password <password>Password per il certificato .p12Sì (rilascio)
--provisioning-profile <percorso>Percorso al file .mobileprovisionSì (rilascio)
--provisioning-profile-prod <percorso>Profilo di provisioning produzione (opzionale)No
--apple-key <percorso>Percorso alla chiave API .p8 di App Store ConnectSì (invio)
--apple-key-id <id>ID Chiave API di App Store ConnectSì (invio)
--apple-issuer-id <id>ID Emittente API di App Store Connect (UUID)Sì (invio)
--apple-team-id <id>ID Team di App Store ConnectSì (invio)
--apple-id <email>Email Apple ID (autenticazione alternativa)No
--apple-app-password <password>Password specifica dell’app (autenticazione alternativa)No

Quando salvi le credenziali iOS, il CLI:

  1. Legge i file del certificato e del profilo di provisioning
  2. Li converte in codifica base64
  3. Salva le credenziali nella cartella .capgo-credentials
  4. Memorizza password e ID come testo normale (solo file locali)

La struttura del file memorizzato:

{
"ios": {
"BUILD_CERTIFICATE_BASE64": "...",
"BUILD_PROVISION_PROFILE_BASE64": "...",
"APPLE_KEY_CONTENT": "...",
"P12_PASSWORD": "...",
"APPLE_KEY_ID": "ABC1234567",
"APPLE_ISSUER_ID": "...",
"APP_STORE_CONNECT_TEAM_ID": "TEAM123456"
}
}
Terminal window
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
OpzioneDescrizioneRichiesto
--keystore <percorso>Percorso al file .keystore o .jksSì (rilascio)
--keystore-alias <alias>Alias della chiave nel keystoreSì (rilascio)
--keystore-key-password <password>Password per l’alias della chiaveSì (rilascio)
--keystore-store-password <password>Password per il keystoreSì (rilascio)
--play-config <percorso>Percorso al JSON dell’account servizio Play StoreSì (invio)

Quando salvi le credenziali Android, il CLI:

  1. Legge i file keystore e JSON dell’account servizio
  2. Li converte in codifica base64
  3. Salva le credenziali nella cartella .capgo-credentials
  4. Memorizza password e alias come testo normale (solo file locali)

La struttura del file memorizzato:

{
"android": {
"ANDROID_KEYSTORE_FILE": "...",
"PLAY_CONFIG_JSON": "...",
"KEYSTORE_KEY_ALIAS": "my-key-alias",
"KEYSTORE_KEY_PASSWORD": "...",
"KEYSTORE_STORE_PASSWORD": "..."
}
}
}

Una volta salvate le credenziali, vengono automaticamente utilizzate quando costruisci:

Terminal window
# Credenziali caricate automaticamente dalla cartella .capgo-credentials
npx @capgo/cli build com.example.app --platform ios

Puoi anche sovrascrivere le credenziali salvate usando variabili d’ambiente:

Terminal window
# Le variabili d'ambiente hanno la precedenza sulle credenziali salvate
BUILD_CERTIFICATE_BASE64="..." \
P12_PASSWORD="password-diversa" \
npx @capgo/cli build com.example.app --platform ios

Ordine di precedenza:

  1. Variabili d’ambiente (priorità massima)
  2. Credenziali salvate nella cartella .capgo-credentials
  3. Nessuna credenziale (priorità minima)

Elenca quali credenziali hai salvato:

Terminal window
npx @capgo/cli build credentials list

Esempio di output:

📋 Credenziali di Build Salvate:
Credenziali iOS:
✓ Certificato (base64)
✓ Profilo di Provisioning (base64)
✓ Contenuto Chiave Apple (base64)
✓ Password P12: ********
✓ ID Chiave Apple: ABC1234567
✓ ID Emittente Apple: 00000000-0000-0000-0000-000000000000
✓ ID Team: TEAM123456
Credenziali Android:
✓ Keystore (base64)
✓ Configurazione Play Store (base64)
✓ Alias Keystore: my-key-alias
✓ Password Chiave: ********
✓ Password Store: ********
Posizione: .capgo-credentials/
🔒 Queste credenziali sono archiviate localmente solo sul tuo computer.
Durante la build, vengono inviate a Capgo ma MAI archiviate.
Vengono eliminate automaticamente dopo il completamento della build (max 24 ore).
  1. Autorizzazioni File

    Terminal window
    # Assicurati che la cartella delle credenziali non sia leggibile da altri
    chmod 700 .capgo-credentials
    chmod 600 .capgo-credentials/*
  2. Mai Eseguire il Commit delle Credenziali

    Terminal window
    # Aggiungi a .gitignore
    echo ".capgo-credentials/" >> .gitignore
  3. Separa le Credenziali

    • Usa credenziali diverse per lo sviluppo locale rispetto a CI/CD
    • Ruota le credenziali regolarmente
    • Non condividere le credenziali tra i membri del team

Per ambienti CI/CD, preferisci le variabili d’ambiente rispetto alle credenziali salvate:

# GitHub Actions
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_CERTIFICATE }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
# ... altri segreti

Questo è più sicuro perché:

  • I segreti sono gestiti dalla tua piattaforma CI/CD
  • Nessun file di credenziali sui runner
  • Facile rotazione e controllo degli accessi
  • Tracce di audit per l’uso dei segreti

Ruota regolarmente le tue credenziali:

  1. iOS: Genera nuovi certificati e chiavi API annualmente
  2. Android: Cambia le password del keystore annualmente
  3. Dopo cambiamenti del team: Ruota quando i membri del team se ne vanno

Aggiorna le credenziali salvate:

Terminal window
# Riesegui il comando di salvataggio con nuove credenziali
npx @capgo/cli build credentials save --platform ios --certificate ./new-cert.p12 ...

Se la build dice che non sono state trovate credenziali:

  1. Verifica se le credenziali sono salvate:

    Terminal window
    npx @capgo/cli build credentials list
  2. Salva le credenziali se mancanti:

    Terminal window
    npx @capgo/cli build credentials save --platform ios ...
  3. Verifica che la cartella delle credenziali esista:

    Terminal window
    ls -la .capgo-credentials/

“Permesso negato” durante la lettura delle credenziali

Section titled ““Permesso negato” durante la lettura delle credenziali”

Correggi le autorizzazioni dei file:

Terminal window
chmod 700 .capgo-credentials
chmod 600 .capgo-credentials/*

Verifica che la piattaforma corretta sia specificata:

Terminal window
# Assicurati che --platform corrisponda alle credenziali salvate
npx @capgo/cli build com.example.app --platform ios # Usa credenziali ios
npx @capgo/cli build com.example.app --platform android # Usa credenziali android

Se le credenziali sembrano corrotte:

Terminal window
# Cancella tutte le credenziali
npx @capgo/cli build credentials clear
# Salva di nuovo
npx @capgo/cli build credentials save --platform ios ...

Se attualmente stai usando variabili d’ambiente, puoi migrare alle credenziali salvate:

  1. Estrai le tue variabili d’ambiente attuali

    Terminal window
    echo $BUILD_CERTIFICATE_BASE64 # Verifica che esistano
  2. Decodifica i file base64 ai file originali (se necessario)

    Terminal window
    echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12
    echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision
  3. Salva usando il CLI

    Terminal window
    npx @capgo/cli build credentials save \
    --platform ios \
    --certificate ./cert.p12 \
    --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"
  4. Testa la build

    Terminal window
    npx @capgo/cli build com.example.app --platform ios
  5. Rimuovi le variabili d’ambiente (opzionale)

    Terminal window
    unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64

Le credenziali sono archiviate nella cartella .capgo-credentials:

  • macOS/Linux: .capgo-credentials/ (nella radice del progetto o nella directory home)
  • Windows: .capgo-credentials\ (nella radice del progetto o nella directory home)

La cartella viene creata automaticamente quando salvi le credenziali per la prima volta.