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. Usa questa pagina per trovare il flag CLI, la variabile d'ambiente o la chiave di credenziale per qualsiasi impostazione di build.
Precedenza della configurazione
Sezione intitolata “Precedenza della configurazione”Ogni opzione di build può essere impostata in diversi modi. Se la stessa opzione è definita in più punti, hanno la precedenza le fonti con priorità più alta:
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 tu passi --no-skip-build-number-bump sulla CLI, la flag CLI ha la precedenza e i numeri di build verranno incrementati automaticamente.
Opzioni iOS
Sezione intitolata “Opzioni iOS”Firma Code
Sezione intitolata “Firma Code”| Flag CLI | Variabile d'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 | — | Provisioning profile come path oppure bundleId=path mapping. Ripetibile per app multi-target (app + estensioni); il nome del profilo viene estratto automaticamente. |
--p12-password <password> | P12_PASSWORD | P12_PASSWORD | — | Password per il .p12 certificato (ommettere se il certificato non ha password) |
Autenticazione App Store Connect
Sezione intitolata “App Store Connect Authentication”| Flag CLI | Variabile d'ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--apple-key-id <id> | APPLE_KEY_ID | APPLE_KEY_ID | — | Key ID API di App Store Connect |
--apple-issuer-id <id> | APPLE_ISSUER_ID | APPLE_ISSUER_ID | — | App Store Connect Issuer ID (UUID) |
--apple-key-content <content> | APPLE_KEY_CONTENT | APPLE_KEY_CONTENT | — | Chiave API di App Store Connect codificata in Base64 (.p8 file) |
--app-store-connect-team-id <id> | APP_STORE_CONNECT_TEAM_ID | APP_STORE_CONNECT_TEAM_ID | — | Team ID di App Store Connect |
Autenticazione con password specifica per l'app (non consigliata)
Sezione intitolata “Autenticazione con password specifica per l'app (non consigliata)”| Flag CLI | Variabile d'ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--apple-id <email> | FASTLANE_USER | FASTLANE_USER | — | Email dell'Apple ID dell'account che possiede l'app |
--apple-app-specific-password <password> | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | — | Password specifica per l'app (xxxx-xxxx-xxxx-xxxx) generata il appleid.apple.com |
--apple-app-id <id> | APPLE_APP_ID | APPLE_APP_ID | — | ID numerico dell'app su App Store Connect (es. 1234567890) |
Impostazioni build iOS
Sezione intitolata “iOS Build Settings”| Flag CLI | Variabile d'ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--ios-scheme <scheme> | CAPGO_IOS_SCHEME | CAPGO_IOS_SCHEME | App | Xcode scheme da buildare |
--ios-target <target> | CAPGO_IOS_TARGET | CAPGO_IOS_TARGET | App | Target Xcode per leggere le impostazioni di build |
--ios-distribution <mode> | CAPGO_IOS_DISTRIBUTION | CAPGO_IOS_DISTRIBUTION | app_store | Modalità di distribuzione: app_store oppure ad_hoc |
--xcode-version <version> | CAPGO_IOS_XCODE_VERSION | CAPGO_IOS_XCODE_VERSION | qualsiasi | Esegui la build con questa versione di Xcode, ad es. 26, 26.0.1 oppure 27. Una versione principale accetta qualsiasi versione minore. La build fallisce subito ed elenca le versioni disponibili se nessuna corrisponde. |
Xcode 27
Sezione intitolata “Xcode 27”Esegui la build con Xcode 27 (iOS 27 SDK) con --xcode-version 27:
npx @capgo/cli@latest build request --platform ios --xcode-version 27Le app create con SDK per iOS 27 devono adottare il ciclo di vita UIScene: senza un UIApplicationSceneManifest nella Info.plist e un scene delegate, iOS 27 arresta l'app all'avvio. Capgo blocca queste build prima che partano (controllo prescan ios/plist-scene-lifecycle-xcode27). Aggiungi un SceneDelegate e a una UIApplicationSceneManifest a ios/App/App/Info.plist, o continua a compilare con --xcode-version 26 finché non lo fai. Vedi le linee guida di Apple ciclo di vita delle scene.
Fine supporto CocoaPods (dicembre 2026)
Sezione intitolata “Fine del supporto CocoaPods (dicembre 2026)”Capgo Build smetterà di compilare i progetti iOS che usano CocoaPods a dicembre 2026. Migra il tuo progetto a Swift Package Manager prima di allora: vedi Guida SPM di Capacitor. Fino ad allora, le build con CocoaPods continueranno a funzionare; CLI visualizza un avviso e Capgo invia un promemoria via email agli amministratori della tua organizzazione.
Opzioni Android
Sezione intitolata “Opzioni Android”Firma Keystore
Sezione intitolata “Keystore Signing”| Flag CLI | Variabile d'ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--android-keystore-file <keystore> | ANDROID_KEYSTORE_FILE | ANDROID_KEYSTORE_FILE | — | File keystore codificato in Base64 (.keystore oppure .jks) |
--keystore-key-alias <alias> | KEYSTORE_KEY_ALIAS | KEYSTORE_KEY_ALIAS | key0 | Alias della chiave keystore |
--keystore-key-password <password> | KEYSTORE_KEY_PASSWORD | KEYSTORE_KEY_PASSWORD | — | Password della chiave keystore (se non impostata, usa la password dello store) |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | Password del keystore |
Configurazione Google Play
Sezione intitolata “Configurazione Google Play”| Flag CLI | Variabile d'ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--play-config-json <json> | PLAY_CONFIG_JSON | PLAY_CONFIG_JSON | — | Chiave JSON dell'account di servizio Google Play codificata in Base64 |
--android-track <track> | PLAY_STORE_TRACK | PLAY_STORE_TRACK | internal (o production con --submit-to-store-review) | Track di rilascio Google Play (internal, alpha, beta, production). Inoltrato dall'env CI / CLI al build runner. |
--android-release-status <status> | PLAY_STORE_RELEASE_STATUS | PLAY_STORE_RELEASE_STATUS | draft (o completed con --submit-to-store-review) | Stato del rilascio sulla track scelta (draft, completed, inProgress, halted). I valori espliciti sovrascrivono il --submit-to-store-review predefinito. |
Impostazioni build Android
Sezione intitolata “Impostazioni build Android”| Flag CLI | Predefinito | Descrizione |
|---|---|---|
--android-flavor <flavor> | — | Product flavor da buildare (es. production). Obbligatorio se il progetto definisce più flavor. |
--android-track <track> | internal | Google Play track per questo upload. Con --submit-to-store-review e nessuna track impostata, Capgo predefinisce production. |
--android-release-status <status> | draft | Stato di rilascio Google Play. Con --submit-to-store-review e nessun status impostato, Capgo predefinisce completed. |
--in-app-update-priority <0–5> | — | Priorità dell'aggiornamento in-app di Google Play per questo rilascio (più alta = più urgente). |
--no-playstore-upload | — | Compila e firma, ma salta l'upload su Play Store (richiede --output-upload). |
Opzioni di controllo build
Sezione intitolata “Opzioni di controllo build”Queste opzioni sono valide sia per le build iOS che Android.
Modalità di Build
Sezione intitolata “Build Mode”| Flag CLI | Predefinito | Descrizione |
|---|---|---|
--platform <platform> | — | Obbligatorio. ios oppure android |
--build-mode <mode> | release | debug oppure release |
--path <path> | . | Directory di progetto |
--verbose | false | Abilita i log di build dettagliati |
--ai-analytics | false | In caso di errore di build, invia i log a Capgo AI per la diagnosi — vedi Diagnosi AI del build |
Controllo numero build
Sezione intitolata “Build Number Control”| Flag CLI | Variabile d'ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--skip-build-number-bump | SKIP_BUILD_NUMBER_BUMP | SKIP_BUILD_NUMBER_BUMP | false | Ignora l'incremento automatico del numero di build / della versione code |
--no-skip-build-number-bump | — | — | — | Riattiva esplicitamente l'auto-incremento (sovrascrive le credenziali salvate) |
Di default, Capgo Cloud Build incrementa automaticamente i numeri di build:
- iOS: Recupera l'ultimo numero di build da App Store Connect e lo incrementa di 1
- Android: Recupera il massimo
versionCodeda Google Play e lo incrementa di 1
Quando --skip-build-number-bump è impostato, la build usa la versione già presente nei file del progetto (progetto Xcode o build.gradle).
Upload dell'output
Sezione intitolata “Output Upload”| Flag CLI | Variabile d'ambiente | Chiave delle credenziali | Predefinito | Descrizione |
|---|---|---|---|---|
--output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | BUILD_OUTPUT_UPLOAD_ENABLED | false | Carica gli output di build (IPA/APK/AAB) nello storage di Capgo. Se impostato tramite variabile d'ambiente, usa BUILD_OUTPUT_UPLOAD_ENABLED=true. |
--no-output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | — | — | Disable output upload. When set via env var, use BUILD_OUTPUT_UPLOAD_ENABLED=false. |
--output-retention <duration> | BUILD_OUTPUT_RETENTION_SECONDS | BUILD_OUTPUT_RETENTION_SECONDS | 1h | Durata di validità dei link di download |
--output-record <path> | — | — | — | Dopo una build riuscita, scrive un record JSON (ID job, stato, URL di download, QR code) in <path> — rileggilo con build last-output. |
Formato di retention: Usa durate leggibili come 1h, 6h, 2d, 7d. Minimo 1 ora, massimo 7 giorni. Se impostato tramite variabile d'ambiente, usa i secondi (es., 3600 per 1 ora).
Cache di build
Sezione intitolata “Build cache”Capgo salva gli artefatti nativi compilati (CocoaPods, Gradle e relativi output di build) per app così le build ripetute partono più velocemente. Build cache is enabled by default per ogni app.
| Flag CLI | campo API | Predefinito | Descrizione |
|---|---|---|---|
--no-cache | cache_enabled: false | cache attiva | Disabilita la cache per questa build: salta il restore e non salvare una nuova voce |
--cache-key <value> | cache_key | (ometti) | Partiziona la cache (ad esempio prod, staging). Ometti per una cache generale condivisa per app |
equivalenti di CLI: build request accetta --no-cache e --cache-key.
Esempi di CLI:
# Default: restore/save the shared per-app cachebunx @capgo/cli@latest build request com.example.app --platform android
# Separate caches per environmentbunx @capgo/cli@latest build request com.example.app --platform android \ --cache-key=prod
bunx @capgo/cli@latest build request com.example.app --platform android \ --cache-key=staging \ --android-flavor staging
# One-off clean build (no restore, no save)bunx @capgo/cli@latest build request com.example.app --platform ios --no-cacheAPI / payload del webhook (quando la tua integrazione chiama direttamente Capgo Build):
{ "platform": "android", "cache_key": "prod"}Ometti cache_key per la cache generale condivisa. Imposta cache_key per partizionare per ambiente. Imposta "cache_enabled": false per disabilitare la cache per una singola richiesta (come --no-cache).
Se una build sembra riuscita ma l'artifact è errato — o un AAB Android manca dopo il passaggio da RC a produzione — prova una cache key dedicata o una --no-cache build. Vedi Troubleshooting: restore della cache errato.
Autenticazione
Sezione intitolata “Autenticazione”| Flag CLI | Variabile d'ambiente | Predefinito | Descrizione |
|---|---|---|---|
-a, --apikey <key> | CAPGO_TOKEN | — | Capgo API key per l'autenticazione |
--supa-host <host> | — | — | Host Supabase personalizzato (solo self-hosting) |
--supa-anon <key> | — | — | Chiave anon Supabase personalizzata (solo self-hosting) |
Riferimento rapido alle variabili d'ambiente
Sezione intitolata “Riferimento rapido alle variabili d'ambiente”Pronto da copiare e incollare nella tua pipeline CI/CD. Tutte le variabili sono opzionali: imposta solo ciò che ti serve.
# 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"CAPGO_IOS_XCODE_VERSION="27"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 build
Sezione intitolata “Controllo build”# 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"Storage credenziali
Sezione intitolata “Credential Storage”Salva credenziali localmente
Sezione intitolata “Save Credentials Locally”Invece di passare flag o variabili d'ambiente ogni volta, salva le credenziali una sola 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.jsonPercorsi di archiviazione
Sezione intitolata “Posizioni di archiviazione”| Flag | Posizione | Caso d'uso |
|---|---|---|
| (predefinito) | ~/.capgo-credentials/credentials.json | Globale — condivisa tra tutti i progetti sulla tua macchina |
--local | .capgo-credentials.json nella root del progetto | Per progetto — sovrascrive la globale se entrambe esistono |
Le credenziali sono indicizzate per ID app (es. com.example.myapp), in modo che un singolo file di credenziali possa contenere le impostazioni per più app senza conflitti. Le credenziali di ogni app sono inoltre suddivise per piattaforma (ios / android).
Gestisci credenziali salvate
Sezione intitolata “Gestisci 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 iosAzioni GitHub
Sezione intitolata “Azioni GitHub”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 dei flag CLI
Sezione intitolata “Uso diretto dei flag CLI”# 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 di 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 i dettagli di firma, mentre i flag CLI sovrascrivono il comportamento di build per questa esecuzione specifica.