Opzioni di Configurazione
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Riferimento completo per ogni opzione di configurazione di Cloud Build. Utilizza questa pagina per trovare la CLI flag, variabile di ambiente o chiave di credenziali per ogni impostazione di build.
Precedenza della configurazione
Sezione intitolata “Precedenza della configurazione”Ogni opzione di build può essere impostata in più modi. Quando la stessa opzione è impostata in più posti, le fonti di priorità più elevate vincono:
flowchart LR
A["🔧 CLI Flag"] -->|overrides| B["🌍 Environment Variable"]
B -->|overrides| C["📁 Local Credentials"]
C -->|overrides| D["🏠 Global Credentials"]
style A fill:#6366f1,color:#fff,stroke:#4f46e5
style B fill:#8b5cf6,color:#fff,stroke:#7c3aed
style C fill:#a78bfa,color:#fff,stroke:#8b5cf6
style D fill:#c4b5fd,color:#1e1b4b,stroke:#a78bfa
Esempio: Se le tue credenziali salvate hanno SKIP_BUILD_NUMBER_BUMP=true ma passi --no-skip-build-number-bump sul CLI, la flag CLI vince e i numeri di build saranno incrementati automaticamente.
Opzioni per iOS
Sezione intitolata “Opzioni per iOS”Code Firma
Sezione intitolata “Code Firma”| CLI Flag | Variabile di ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--build-certificate-base64 <cert> | BUILD_CERTIFICATE_BASE64 | BUILD_CERTIFICATE_BASE64 | — | Codificato in Base64 .p12 certificato di distribuzione |
--ios-provisioning-profile <map> | CAPGO_IOS_PROVISIONING_MAP | CAPGO_IOS_PROVISIONING_MAP | — | Profilo di provisioning come un path o bundleId=path mappatura. Ripetibile per applicazioni multi-target (app + estensioni); il nome del profilo viene estratto automaticamente. |
--p12-password <password> | P12_PASSWORD | P12_PASSWORD | — | Password per .p12 certificato (omettere se il certificato non ha una password) |
Autenticazione App Store Connect
Sezione intitolata “Autenticazione App Store Connect”| CLI Flag | Variabile di ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--apple-key-id <id> | APPLE_KEY_ID | APPLE_KEY_ID | — | Chiave App Store Connect API ID |
--apple-issuer-id <id> | APPLE_ISSUER_ID | APPLE_ISSUER_ID | — | ID emittente App Store Connect (UUID) |
--apple-key-content <content> | APPLE_KEY_CONTENT | APPLE_KEY_CONTENT | — | Chiave App Store Connect API codificata in Base64 (.p8 file) |
--app-store-connect-team-id <id> | APP_STORE_CONNECT_TEAM_ID | APP_STORE_CONNECT_TEAM_ID | — | ID del Team di App Store Connect |
Autenticazione tramite password app-specific (non consigliata)
Sezione intitolata “Autenticazione tramite password app-specific (non consigliata)”| CLI Flag | Variabile di ambiente | Chiave di credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--apple-id <email> | FASTLANE_USER | FASTLANE_USER | — | Indirizzo e-mail dell'ID Apple dell'account che possiede l'app |
--apple-app-specific-password <password> | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | — | Password app-specifica (xxxx-xxxx-xxxx-xxxx) generata su appleid.apple.com |
--apple-app-id <id> | APPLE_APP_ID | APPLE_APP_ID | — | ID numerico dell'app di App Store Connect (ad esempio 1234567890) |
Impostazioni di costruzione iOS
Sezione intitolata “Impostazioni di costruzione iOS”| CLI Flag | Variabile di ambiente | Chiave della credenziale | Impostazione predefinita | Descrizione |
|---|---|---|---|---|
--ios-scheme <scheme> | CAPGO_IOS_SCHEME | CAPGO_IOS_SCHEME | App | Schema Xcode per la compilazione |
--ios-target <target> | CAPGO_IOS_TARGET | CAPGO_IOS_TARGET | App | Target Xcode per la lettura delle impostazioni di compilazione |
--ios-distribution <mode> | CAPGO_IOS_DISTRIBUTION | CAPGO_IOS_DISTRIBUTION | app_store | Modalità di distribuzione: app_store o ad_hoc |
Opzioni per Android
Sezione intitolata “Opzioni per Android”Crittografia del keystore
Sezione intitolata “Firma del keystore”| CLI Flag | Variabile di ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--android-keystore-file <keystore> | ANDROID_KEYSTORE_FILE | ANDROID_KEYSTORE_FILE | — | File del keystore codificato in Base64 (.keystore o .jks) |
--keystore-key-alias <alias> | KEYSTORE_KEY_ALIAS | KEYSTORE_KEY_ALIAS | key0 | Alias della chiave del keystore |
--keystore-key-password <password> | KEYSTORE_KEY_PASSWORD | KEYSTORE_KEY_PASSWORD | — | Password della chiave del keystore (ricade sulla password del magazzino se non impostata) |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | Password del magazzino del keystore |
Configurazione di Google Play
Sezione intitolata “Configurazione di Google Play”| CLI Flag | Variabile di ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--play-config-json <json> | PLAY_CONFIG_JSON | PLAY_CONFIG_JSON | — | Chiave JSON del servizio Google Play codificata in Base64 |
| (solo ambiente) | PLAY_STORE_TRACK | — | internal | Tracciato di rilascio di Google Play (internal, alpha, beta, production) |
| (solo ambiente) | PLAY_STORE_RELEASE_STATUS | — | draft | Stato di rilascio sul tracciato scelto (draft, completed, inProgress, halted) |
Impostazioni di costruzione per Android
Sezione intitolata “Impostazioni di costruzione per Android”| CLI Flag | Predefinito | Descrizione |
|---|---|---|
--android-flavor <flavor> | — | Flavor del prodotto da costruire (ad esempio production). Obbligatorio se il tuo progetto definisce più flavor. |
--in-app-update-priority <0–5> | — | Priorità di aggiornamento in-app di Google Play per questa versione (più alto = più urgente). |
--no-playstore-upload | — | Costruisci e firma, ma saltare l'upload su Play Store (richiede --output-upload). |
Opzioni di controllo della costruzione
Sezione intitolata “Opzioni di controllo della costruzione”Queste opzioni funzionano sia per le costruzioni iOS che per Android.
Modalità di costruzione
Sezione intitolata “Modalità di costruzione”| CLI Flag | Impostazione predefinita | Descrizione |
|---|---|---|
--platform <platform> | — | Richiesto. ios o android |
--build-mode <mode> | release | debug o release |
--path <path> | . | Directory del progetto |
--verbose | false | Abilita la registrazione dettagliata del processo di costruzione |
--ai-analytics | false | In caso di fallimento della costruzione, invia i log a Capgo AI per la diagnosi — vedi Diagnosi di costruzione con AI |
Controllo del numero di build
Sezione intitolata “Controllo del numero di build”| CLI Flag | Variabile di ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--skip-build-number-bump | SKIP_BUILD_NUMBER_BUMP | SKIP_BUILD_NUMBER_BUMP | false | Saltare l'incremento automatico del numero di build / versione code |
--no-skip-build-number-bump | — | — | — | Abilitare esplicitamente l'incremento automatico (sovrascrive le credenziali salvate) |
Di default, Capgo Cloud Build incrementa automaticamente i numeri di build:
- iOS: Estrae il numero di build più recente da App Store Connect, incrementa di 1
- Android: Estrae il massimo
versionCodedalla Google Play, incrementa di 1
Quando --skip-build-number-bump è impostato, l'elaborazione utilizza la versione già presente nei file del progetto (progetto Xcode o build.gradle).
Carica Output
Sezione intitolata “Carica Output”| CLI Flag | Variabile di ambiente | Chiave della credenziale | Predefinito | Descrizione |
|---|---|---|---|---|
--output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | BUILD_OUTPUT_UPLOAD_ENABLED | false | Carica output di costruzione (IPA/APK/AAB) su Capgo archiviazione. Quando impostato tramite variabile di ambiente, utilizza BUILD_OUTPUT_UPLOAD_ENABLED=true. |
--no-output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | — | — | Disabilita l'upload degli output. Quando impostato tramite variabile di ambiente, utilizza BUILD_OUTPUT_UPLOAD_ENABLED=false. |
--output-retention <duration> | BUILD_OUTPUT_RETENTION_SECONDS | BUILD_OUTPUT_RETENTION_SECONDS | 1h | Quanto tempo rimangono attivi i collegamenti di download |
--output-record <path> | — | — | — | Dopo una costruzione riuscita, scrivi un record JSON (ID lavoro, stato, URL di download, QR code) in <path> — leggilo nuovamente con build last-output. |
Formato di conservazione: Utilizza durate leggibili dall'uomo come 1h, 6h, 2d, 7d. Minimo è 1 ora, massimo è 7 giorni. Quando impostato tramite variabile di ambiente, utilizza secondi (ad esempio 3600 per 1 ora).
Autenticazione
Sezione intitolata “Autenticazione”| CLI Flag | Variabile di ambiente | Impostazione predefinita | Descrizione |
|---|---|---|---|
-a, --apikey <key> | CAPGO_TOKEN | — | Capgo API chiave per l'autenticazione |
--supa-host <host> | — | — | Host Supabase personalizzato (solo per hosting self-hosting) |
--supa-anon <key> | — | — | Chiave anonima Supabase personalizzata (solo per hosting self-hosting) |
Riferimento rapido per le variabili di ambiente
Sezione intitolata “Riferimento rapido per le variabili di ambiente”Copia-incolla pronto per il tuo pipeline CI/CD. Tutte le variabili sono facoltative — imposta solo quelle che ti servono.
# Code signing (required for iOS builds)BUILD_CERTIFICATE_BASE64="<base64-encoded .p12>"CAPGO_IOS_PROVISIONING_MAP="<provisioning map generated by the CLI>"P12_PASSWORD="<certificate password>"
# App Store Connect (required for store submission)APPLE_KEY_ID="ABC1234567"APPLE_ISSUER_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"APPLE_KEY_CONTENT="<base64-encoded .p8 key>"APP_STORE_CONNECT_TEAM_ID="TEAM123456"
# Alternative to the App Store Connect API key above: Apple ID + app-specific# password (e.g. when migrating from Ionic Appflow). All three are required.# FASTLANE_USER="apple-id@example.com"# FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD="xxxx-xxxx-xxxx-xxxx"# APPLE_APP_ID="1234567890"
# Optional iOS settingsCAPGO_IOS_SCHEME="App"CAPGO_IOS_TARGET="App"Android
Sezione intitolata “Android”# Keystore signing (required for Android builds)ANDROID_KEYSTORE_FILE="<base64-encoded .keystore>"KEYSTORE_KEY_ALIAS="my-key-alias"KEYSTORE_KEY_PASSWORD="<key password>"KEYSTORE_STORE_PASSWORD="<store password>"
# Google Play (required for store submission)PLAY_CONFIG_JSON="<base64-encoded service account JSON>"
# Optional Android settingsPLAY_STORE_TRACK="internal"PLAY_STORE_RELEASE_STATUS="draft"Controllo della costruzione
Sezione intitolata “Controllo della costruzione”# Build behaviorSKIP_BUILD_NUMBER_BUMP="true" # Skip auto-incrementBUILD_OUTPUT_UPLOAD_ENABLED="true" # Upload IPA/APK/AABBUILD_OUTPUT_RETENTION_SECONDS="3600" # 1 hour download link
# AuthenticationCAPGO_TOKEN="your-api-key"Stoccaggio delle credenziali
Sezione intitolata “Stoccaggio delle credenziali”Salva le credenziali localmente
Sezione intitolata “Salva Credenziali Localmente”Invece di passare flag o variabili di ambiente ogni volta, salva le credenziali una volta:
# Save iOS credentialsbunx @capgo/cli@latest build credentials save \ --platform ios \ --certificate ./dist_cert.p12 \ --ios-provisioning-profile ./profile.mobileprovision \ --p12-password "cert-password" \ --apple-key ./AuthKey.p8 \ --apple-key-id ABC1234567 \ --apple-issuer-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ --apple-team-id TEAM123456
# Save Android credentialsbunx @capgo/cli@latest build credentials save \ --platform android \ --keystore ./release.keystore \ --keystore-alias my-key \ --keystore-key-password "key-pass" \ --keystore-store-password "store-pass" \ --play-config ./play-service-account.jsonPosizioni di Archiviazione
Sezione intitolata “Posizioni di Archiviazione”| Flag | Posizione | Utilizzo |
|---|---|---|
| (di default) | ~/.capgo-credentials/credentials.json | Globali — condivise tra tutti i progetti sul tuo computer |
--local | .capgo-credentials.json in radice del progetto | Per-progetto — sovrascrive le impostazioni globali quando entrambi esistono |
Le credenziali sono chiuse da ID dell'app (ad esempio com.example.myapp), quindi un singolo file di credenziali può memorizzare le impostazioni per più app senza conflitti. Le credenziali di ogni app sono ulteriormente suddivise per piattaforma (ios / android).
Gestisci le Credenziali Salvate
Sezione intitolata “Gestisci le Credenziali Salvate”# List saved credentialsbunx @capgo/cli@latest build credentials list
# Update a specific option without re-entering everythingbunx @capgo/cli@latest build credentials update --skip-build-number-bump
# Clear saved credentialsbunx @capgo/cli@latest build credentials clear --platform iosGitHub Azioni
Sezione intitolata “GitHub Azioni”name: Build and Submiton: push: branches: [main]
jobs: build-ios: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 - run: bun install - run: bunx cap sync ios - run: bunx @capgo/cli@latest build request --platform ios env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_CERTIFICATE }} CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }} APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }} APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }} APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
build-android: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 - run: bun install - run: bunx cap sync android - run: bunx @capgo/cli@latest build request --platform android env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE }} KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_ALIAS }} KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }} PLAY_CONFIG_JSON: ${{ secrets.PLAY_CONFIG_JSON }}Utilizzo diretto di CLI Flags
Sezione intitolata “Utilizzo diretto di CLI Flags”# Build iOS with all options inlinebunx @capgo/cli@latest build request \ --platform ios \ --build-mode release \ --skip-build-number-bump \ --output-retention 6h \ --apikey YOUR_API_KEY
# Build Android, skip version bump, no output uploadbunx @capgo/cli@latest build request \ --platform android \ --skip-build-number-bump \ --no-output-upload \ --apikey YOUR_API_KEYConfigurazione mista
Sezione intitolata “Configurazione mista”Combina le credenziali salvate con gli override CLI:
# Save base credentials oncebunx @capgo/cli@latest build credentials save --platform ios \ --certificate ./cert.p12 \ --ios-provisioning-profile ./profile.mobileprovision \ --output-upload
# Override specific options per-buildbunx @capgo/cli@latest build request --platform ios \ --skip-build-number-bump \ --output-retention 2dLe credenziali salvate forniscono dettagli di firma mentre gli flag CLI sovrascrivono il comportamento di costruzione per questa esecuzione specifica.