Opciones de Configuración
Copia un prompt de configuración con los pasos de instalación y la guía markdown completa para este plugin.
Referencia completa para cada opción de configuración de Cloud Build. Utiliza esta página para encontrar la bandera CLI, la variable de entorno o la clave de credenciales para cualquier ajuste de compilación.
Precedencia de Configuración
Título de la sección “Precedencia de Configuración”Cada opción de compilación puede configurarse de varias maneras. Cuando la misma opción se establece en varios lugares, las fuentes de mayor prioridad ganan.
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
Ejemplo: Si tus credenciales guardadas tienen SKIP_BUILD_NUMBER_BUMP=true pero pasas --no-skip-build-number-bump en CLI, la bandera CLI gana y los números de compilación se incrementarán automáticamente.
Opciones de iOS
Sección titulada “Opciones de iOS”Code Firma
Sección titulada “Code Firma”| CLI Bandera | Variable de entorno | Clave de credencial | Predeterminado | Descripción |
|---|---|---|---|---|
--build-certificate-base64 <cert> | BUILD_CERTIFICATE_BASE64 | BUILD_CERTIFICATE_BASE64 | — | Codificado en Base64 .p12 certificado de distribución |
--ios-provisioning-profile <map> | CAPGO_IOS_PROVISIONING_MAP | CAPGO_IOS_PROVISIONING_MAP | — | perfil de provisión como un path o bundleId=path mapa. Repetible para aplicaciones multi-objetivo (aplicación + extensiones); el nombre de perfil se extrae automáticamente. |
--p12-password <password> | P12_PASSWORD | P12_PASSWORD | — | contraseña para el .p12 certificado (omitir si el certificado no tiene contraseña) |
Autenticación de App Store Connect
Sección titulada “Autenticación de App Store Connect”| CLI Bandera | Variable de entorno | Clave de credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--apple-key-id <id> | APPLE_KEY_ID | APPLE_KEY_ID | — | Clave de App Store Connect API ID |
--apple-issuer-id <id> | APPLE_ISSUER_ID | APPLE_ISSUER_ID | — | ID de emisor de App Store Connect (UUID) |
--apple-key-content <content> | APPLE_KEY_CONTENT | APPLE_KEY_CONTENT | — | clave de App Store Connect codificada en Base64 API (.p8 archivo) |
--app-store-connect-team-id <id> | APP_STORE_CONNECT_TEAM_ID | APP_STORE_CONNECT_TEAM_ID | — | ID de equipo de App Store Connect |
Autenticación de contraseña específica de la aplicación (no recomendada)
Autenticación de contraseña específica de la aplicación (no recomendada)| CLI Bandera | Variable de entorno | Clave de credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--apple-id <email> | FASTLANE_USER | FASTLANE_USER | — | Correo electrónico de Apple ID del cuenta que posee la aplicación |
--apple-app-specific-password <password> | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD | — | Contraseña específica de la aplicación (xxxx-xxxx-xxxx-xxxx) generada en appleid.apple.com |
--apple-app-id <id> | APPLE_APP_ID | APPLE_APP_ID | — | Numeric App Store Connect app ID (e.g. 1234567890) |
Configuración de compilación de iOS
Configuración de Compilación de iOS| CLI Bandera | Variable de entorno | Clave de credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--ios-scheme <scheme> | CAPGO_IOS_SCHEME | CAPGO_IOS_SCHEME | App | Esquema de Xcode para compilar |
--ios-target <target> | CAPGO_IOS_TARGET | CAPGO_IOS_TARGET | App | Objetivo de Xcode para leer configuraciones de compilación |
--ios-distribution <mode> | CAPGO_IOS_DISTRIBUTION | CAPGO_IOS_DISTRIBUTION | app_store | Modo de distribución: app_store o ad_hoc |
Opciones de Android
Sección titulada “Opciones de Android”Autenticación con llave de almacenamiento
Sección titulada “Firma de Keystore”| Bandera CLI | Variable de entorno | Clave de credenciales | Default | Descripción |
|---|---|---|---|---|
--android-keystore-file <keystore> | ANDROID_KEYSTORE_FILE | ANDROID_KEYSTORE_FILE | — | Archivo de clave en codificación Base64 (".keystore o .jks) |
--keystore-key-alias <alias> | KEYSTORE_KEY_ALIAS | KEYSTORE_KEY_ALIAS | key0 | Alias de llave de almacenamiento |
--keystore-key-password <password> | KEYSTORE_KEY_PASSWORD | KEYSTORE_KEY_PASSWORD | — | Contraseña de clave del keystore (se utiliza la contraseña del almacén si no está configurada) |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | Contraseña de almacenamiento del keystore |
Configuración de Google Play
Título de la sección “Configuración de Google Play”| CLI Bandera | Variable de entorno | Clave de credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--play-config-json <json> | PLAY_CONFIG_JSON | PLAY_CONFIG_JSON | — | Clave JSON de servicio de Google Play codificada en Base64 |
--android-track <track> | PLAY_STORE_TRACK | PLAY_STORE_TRACK | internal (o production con --submit-to-store-review) | pista de lanzamiento de Google Play (internal, alpha, beta, production. Enviado desde el entorno CI / CLI en el ejecutor de compilación. |
--android-release-status <status> | PLAY_STORE_RELEASE_STATUS | PLAY_STORE_RELEASE_STATUS | draft (o completed con --submit-to-store-review) | con el estado de lanzamiento elegido en el track (draft, completed, inProgress, halted). Los valores explícitos sobrescriben el --submit-to-store-review por defecto. |
Configuración de compilación para Android
Configuración de compilación de Android| CLI Bandera | Predeterminado | Descripción |
|---|---|---|
--android-flavor <flavor> | — | Flavor de producto para compilar (por ejemplo, production). Requerido si su proyecto define múltiples sabores. |
--android-track <track> | internal | pista de Google Play para esta carga. Con --submit-to-store-review y sin pista configurada, Capgo se establece en production. |
--android-release-status <status> | draft | estado de lanzamiento de Google Play. Con --submit-to-store-review y sin estado configurado, Capgo se establece en completed. |
--in-app-update-priority <0–5> | — | prioridad de actualización en-aplicación de Google Play para esta versión (mayor = más urgente). |
--no-playstore-upload | — | Construye y firma, pero omite la carga en la Tienda de aplicaciones (requiere --output-upload). |
Opciones de control de construcción
Sección titulada “Opciones de control de construcción”Estas opciones funcionan tanto para builds de iOS como para Android.
Build Mode
Sección titulada “Modo de construcción”| CLI Bandera | Predeterminado | Descripción |
|---|---|---|
--platform <platform> | — | Requerido. ios o android |
--build-mode <mode> | release | debug o release |
--path <path> | . | Directorio del proyecto |
--verbose | false | Directorio del proyecto |
--ai-analytics | false | En caso de falla de compilación, envía registros a Capgo AI para diagnóstico — consulte Diagnóstico de construcción de IA |
Diagnóstico de construcción de AI
Número de construcción controlado| CLI Bandera | Variable de entorno | Clave de credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--skip-build-number-bump | SKIP_BUILD_NUMBER_BUMP | SKIP_BUILD_NUMBER_BUMP | false | Saltarse el incremento automático del número de construcción / versión code |
--no-skip-build-number-bump | — | — | — | Reactivar explícitamente la auto-incrementación (sobreescribe credenciales guardadas) |
Por defecto, Capgo Cloud Build incrementa automáticamente los números de construcción:
- iOS: Obtiene el último número de construcción desde App Store Connect, incrementa en 1
- Android: Obtiene el máximo
versionCodedesde Google Play, incrementa en 1
Cuando --skip-build-number-bump Se utiliza la versión que ya está en los archivos de proyecto (proyecto de Xcode o). build.gradle).
Subir archivo
Sección titulada “Subir archivo”| CLI Bandera | Variable de entorno | Clave de credencial | Predeterminado | Descripción |
|---|---|---|---|---|
--output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | BUILD_OUTPUT_UPLOAD_ENABLED | false | Subir archivos de build (IPA/APK/AAB) a Capgo almacenamiento. Cuando se establece mediante var de entorno, utilice 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 | Cómo permanecen activos los enlaces de descarga |
--output-record <path> | — | — | — | Después de un build exitoso, escriba un registro JSON (ID de trabajo, estado, URL de descarga, QR code) a <path> — léalo de nuevo con build last-output. |
Formato de retención: Utilice duraciones legibles por humanos como 1h, 6h, 2d, 7dMínimo 1 hora, máximo 7 días. Cuando se establece mediante una variable de entorno, utilice segundos (por ejemplo,). 3600 para 1 hora).
Caja de caché
Sección titulada “Caja de caché”Capgo almacena artefactos nativos compilados (CocoaPods, Gradle y resultados de build relacionados) por aplicación por aplicación así las reconstrucciones comienzan más rápido. Build cache is enabled by default para cada aplicación.
| CLI Bandera | API campo | Predeterminado | Descripción |
|---|---|---|---|
--no-cache | cache_enabled: false | caché en | Deshabilitar caché para esta construcción: omitir restauración y no guardar una nueva entrada |
--cache-key <value> | cache_key | (omitir) | Particionar la caché (por ejemplo prod, staging. Omite para una caché general compartida por aplicación |
equivalentes de CLI: build request acepta --no-cache y --cache-key.
Ejemplos de 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 de webhook (cuando tu integración llama a Capgo Construye directamente):
{ "platform": "android", "cache_key": "prod"}Omitir cache_key para la caché compartida general. Establecer cache_key para particionar por entorno. Establecer "cache_enabled": false para deshabilitar caché para una sola solicitud (igual que --no-cache).
Si un build parece exitoso pero el artefacto está mal — o un AAB de Android falta después de cambiar RC vs producción — intenta una clave de caché dedicada o una solicitud única --no-cache build. Ver Resolución de problemas: restaurar caché incorrecto.
Autenticación
Sección titulada “Autenticación”| CLI Bandera | Variable de entorno | Predeterminado | Descripción |
|---|---|---|---|
-a, --apikey <key> | CAPGO_TOKEN | — | Capgo API clave para la autenticación |
--supa-host <host> | — | — | Host de Supabase personalizado (solo para autohospedaje) |
--supa-anon <key> | — | — | Clave anónima de Supabase personalizada (solo para autohospedaje) |
Referencia rápida de Variable de entorno
Sección titulada “Referencia rápida de Variable de entorno”Listo para copiar y pegar en tu pipeline CI/CD. Todos los variables son opcionales — solo establece lo que necesitas.
# 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
Sección titulada “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"Control de compilación
Sección titulada “Control de compilación”# 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"Almacenamiento de credenciales
Sección titulada “Almacenamiento de credenciales”Guardar credenciales localmente
Sección titulada “Guardar credenciales localmente”En lugar de pasar banderas o variables de entorno cada vez, guarde credenciales una vez:
# 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.jsonUbicaciones de almacenamiento
Sección titulada “Ubicaciones de almacenamiento”| Banderas | Ubicación | Uso |
|---|---|---|
| (default) | ~/.capgo-credentials/credentials.json | Global — compartido en todos los proyectos en su máquina |
--local | .capgo-credentials.json in raíz del proyecto | Por proyecto — sobreescribe el global cuando ambos existen |
Las credenciales están claveadas por app ID (por ejemplo com.example.myapp), por lo que un archivo de credenciales puede almacenar configuraciones para múltiples aplicaciones sin conflictos. Las credenciales de cada aplicación se dividen aún más por plataforma (ios / android).
Gestione credenciales guardadas
Sección titulada “Gestione credenciales guardadas”# 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 iosEjemplos
Sección titulada “Ejemplos”GitHub Acciones
Sección titulada “GitHub Acciones”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 }}Usando CLI banderas directamente
Sección titulada “Usando CLI banderas directamente”# 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_KEYConfiguración Mixta
Sección titulada “Configuración Mixta”Combina credenciales guardadas con sobreescripciones de 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 2dLos credenciales guardados proporcionan detalles de firma mientras las banderas CLI sobrescriben el comportamiento de compilación para esta ejecución específica.