Opciones de Configuración
Copiar un prompt de configuración con los pasos de instalación y la guía de markdown completa para este complemento.
Referencia completa para cada opción de configuración de Cloud Build. Utilice esta página para encontrar la bandera CLI, la variable de entorno o la clave de credenciales para cualquier configuración de compilación.
Precedencia de configuración
Sección titulada “Precedencia de configuración”Cada opción de compilación puede establecerse 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 sus credenciales guardadas tienen SKIP_BUILD_NUMBER_BUMP=true pero pasa --no-skip-build-number-bump On el CLI, el flag CLI gana y los números de compilación se incrementarán automáticamente.
Título de la sección “Opciones de iOS”
__CAPGO_KEEP_0__ FirmaTítulo de la sección “Code Firma”
Code Flag| CLI Flag | Clave de credenciales | __CAPGO_KEEP_0__ | 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 ¿o qué? |
--p12-password <password> | P12_PASSWORD | P12_PASSWORD | — | Configuración de mapa. Repetible para aplicaciones multi-destino (aplicación + extensiones); el nombre del perfil se extrae automáticamente. .p12 Contraseña para el |
certificado (omitir si el certificado no tiene contraseña)
Autenticación de App Store Connect| CLI Flag | Variable de entorno | Clave de credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--apple-key-id <id> | APPLE_KEY_ID | APPLE_KEY_ID | — | ID de clave de App Store Connect API |
--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 | — | Cadena base64 codificada de la clave de App Store Connect 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)
Sección titulada “Autenticación de contraseña específica de la aplicación (no recomendada)”| CLI Flag | Variable de entorno | Clave de credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--apple-id <email> | FASTLANE_USER | FASTLANE_USER | — | Correo electrónico de la cuenta de Apple ID 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-xxxxgenerada en appleid.apple.com |
--apple-app-id <id> | APPLE_APP_ID | APPLE_APP_ID | — | ID Numérico de App Store Connect (por ejemplo, 1234567890) |
Configuración de Compilación de iOS
Sección titulada “Configuración de Compilación de iOS”| Bandera CLI | Variable de Entorno | Llave de Credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--ios-scheme <scheme> | CAPGO_IOS_SCHEME | CAPGO_IOS_SCHEME | App | Esquema de Xcode para construir |
--ios-target <target> | CAPGO_IOS_TARGET | CAPGO_IOS_TARGET | App | Objetivo de Xcode para leer configuraciones de construcción |
--ios-distribution <mode> | CAPGO_IOS_DISTRIBUTION | CAPGO_IOS_DISTRIBUTION | app_store | Modo de distribución: app_store o ad_hoc |
¿Qué alternativas tenemos?
Opciones para AndroidOpciones de Android
Configuración de firma de keystore| CLI Flag | Variable de entorno | Clave de credenciales | Configuración predeterminada | Descripción |
|---|---|---|---|---|
--android-keystore-file <keystore> | ANDROID_KEYSTORE_FILE | ANDROID_KEYSTORE_FILE | — | Archivo de clave de seguridad codificado en Base64 (.keystore o .jks) |
--keystore-key-alias <alias> | KEYSTORE_KEY_ALIAS | KEYSTORE_KEY_ALIAS | key0 | Alias de clave de seguridad |
--keystore-key-password <password> | KEYSTORE_KEY_PASSWORD | KEYSTORE_KEY_PASSWORD | — | Contraseña de clave de seguridad (si no se establece, se utiliza la contraseña del almacén) |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | Contraseña del almacén de seguridad |
Configuración de Google Play
Sección titulada “Configuración de Google Play”| CLI Flag | Variable de entorno | Clave de credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--play-config-json <json> | PLAY_CONFIG_JSON | PLAY_CONFIG_JSON | — | Clave JSON de cuenta de servicios 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). Forwarded from CI env / CLI into the build runner. |
--android-release-status <status> | PLAY_STORE_RELEASE_STATUS | PLAY_STORE_RELEASE_STATUS | draft De la variable de entorno CI / __CAPGO_KEEP_0__ se envía hacia el ejecutor de compilación. completed o --submit-to-store-review) | condraft, completed, inProgress, haltedEstado de lanzamiento en la pista elegida ( --submit-to-store-review ) |
Configuración de compilación de Android
Sección titulada “Configuración de compilación de Android”| Bandera CLI | Predeterminado | Descripción |
|---|---|---|
--android-flavor <flavor> | — | Sabor de producto para compilar (por ejemplo, production). Requerido si su proyecto define múltiples sabores. |
--android-track <track> | internal | Configuración de seguimiento de Google Play para esta carga. Con --submit-to-store-review y sin configuración de seguimiento establecida, Capgo se establece en production. |
--android-release-status <status> | draft | estado de lanzamiento de Google Play. Con --submit-to-store-review y sin estado establecido, Capgo se establece en completed. |
--in-app-update-priority <0–5> | — | Prioridad de actualización en la tienda de Google Play para esta versión (mayor = más urgente). |
--no-playstore-upload | — | Construye y firma, pero omite la subida a la tienda Play (requiere --output-upload). |
Opciones de control de construcción
Opciones de control de construcciónEstas opciones funcionan tanto para iOS como para Android.
Modo de construcción
Modo de construcción| Bandera CLI | Predeterminado | Descripción |
|---|---|---|
--platform <platform> | — | Requerido. ios o android |
--build-mode <mode> | release | debug o release |
--path <path> | . | Directorio del proyecto |
--verbose | false | Habilitar registro de compilación detallado |
--ai-analytics | false | Al fallar la compilación, envíe los registros a Capgo AI para el diagnóstico — consulte Diagnóstico de compilación con AI |
Control de Número de Compilación
Título de la sección “Control de Número de Compilación”| CLI Flag | Variable de entorno | Clave de credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--skip-build-number-bump | SKIP_BUILD_NUMBER_BUMP | SKIP_BUILD_NUMBER_BUMP | false | Saltar el incremento automático de número de compilación / versión code |
--no-skip-build-number-bump | — | — | — | Reactivar explícitamente el incremento automático (sobreescribe credenciales guardadas) |
Por defecto, Capgo Cloud Build incrementa automáticamente los números de compilación:
- iOS: Obtiene el último número de compilació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 establece, la compilación utiliza la versión que ya está en tus archivos de proyecto (proyecto de Xcode o build.gradle).
Subir salida
Sección titulada “Subir salida”| CLI Flag | Variable de entorno | Llave de credenciales | Valor predeterminado | Descripción |
|---|---|---|---|---|
--output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | BUILD_OUTPUT_UPLOAD_ENABLED | false | Subir los resultados de compilación (IPA/APK/AAB) a Capgo almacenamiento. Cuando se establezca mediante variable de entorno, utilice BUILD_OUTPUT_UPLOAD_ENABLED=true. |
--no-output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | — | — | Deshabilitar la subida de resultados. Cuando se establezca mediante variable de entorno, utilice BUILD_OUTPUT_UPLOAD_ENABLED=false. |
--output-retention <duration> | BUILD_OUTPUT_RETENTION_SECONDS | BUILD_OUTPUT_RETENTION_SECONDS | 1h | Duración durante la que permanezcan activos los enlaces de descarga |
--output-record <path> | — | — | — | Después de una compilación exitosa, escriba un registro JSON (ID de trabajo, estado, URL de descarga, QR code) a <path> — leerlo de nuevo con build last-output. |
Formato de retención: Utilice duraciones legibles por humanos como 1h, 6h, 2d, 7dEl mínimo es 1 hora, el máximo es 7 días. Cuando se establece mediante una variable de entorno, utilice segundos (por ejemplo, 1 hora). 3600 Caché de compilación
Sección titulada “Caché de compilación”
__CAPGO_KEEP_0__ almacena artefactos nativos compilados (CocoaPods, Gradle y salidas de compilación relacionadas)Capgo saves compiled native artifacts (CocoaPods, Gradle, and related build outputs) para que los builds repetidos comiencen más rápido. El caché de compilación está habilitado por defecto por aplicación. __CAPGO_KEEP_0__ Flag
| CLI campo | API field | Cache de construcción | Descripción |
|---|---|---|---|
--no-cache | cache_enabled: false | activar caché | No activar caché para esta construcción: saltar restauración y no guardar una nueva entrada |
--cache-key <value> | cache_key | (omitir) | Particionar la caché (por ejemplo prod, staging(omitir para una caché compartida general por aplicación) |
equivalentes de CLI: build request acepta --no-cache y --cache-key.
CLI ejemplos:
# 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é general compartida. Establece cache_key para particionar por entorno. Establecer "cache_enabled": false para deshabilitar la caché para una solicitud única (igual que --no-cache).
Si un build parece exitoso pero el artefacto está mal — o un Android AAB está faltando después de cambiar RC vs producción — intenta una clave de caché dedicada o una caché única --no-cache Ver Solución de problemas: restaurar caché incorrecto.
Autenticación
Sección titulada “Autenticación”| CLI Flag | Variable de entorno | Valor predeterminado | Descripción |
|---|---|---|---|
-a, --apikey <key> | CAPGO_TOKEN | — | Capgo API clave para autenticación |
--supa-host <host> | — | — | Host de Supabase personalizado (solo autohospedaje) |
--supa-anon <key> | — | — | Clave de anonimato de Supabase personalizada (solo autohospedaje) |
Referencia rápida de variables de entorno
Referencia rápida de variables de entornoListo para copiar y pegar en tu pipeline de CI/CD. Todas las 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"Referencia rápida de variables de entorno
Ventana de terminal# 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 las 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”| Bandera | Lugar | Uso de caso |
|---|---|---|
| Predeterminado | ~/.capgo-credentials/credentials.json | Global — compartido en todos los proyectos en su máquina |
--local | .capgo-credentials.json en la raíz del proyecto | Por proyecto — sobreescribe el global cuando ambos existen |
Las credenciales están codificadas por ID de la aplicación (por ejemplo com.example.myapp), por lo tanto, un archivo de credenciales único 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).
Gestionar Credenciales Guardadas
Sección titulada “Gestionar 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 banderas de CLI directamente
Sección titulada “Usando banderas de CLI 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 que las banderas CLI sobrescriben el comportamiento de compilación para esta ejecución específica.