Opciones de Configuración
Copie un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
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 credencial para cualquier configuración de compilación.
Precedencia de Configuración
Título de la sección “Precedencia de Configuración”Cada opción de compilación puede ser configurada de varias maneras. Cuando la misma opción se configura 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 el 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 credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--build-certificate-base64 <cert> | BUILD_CERTIFICATE_BASE64 | BUILD_CERTIFICATE_BASE64 | — | Codificado en Base64 .p12 certificado de distribución |
--build-provision-profile-base64 <profile> | BUILD_PROVISION_PROFILE_BASE64 | BUILD_PROVISION_PROFILE_BASE64 | — | Codificado en Base64 .mobileprovision __CAPGO_KEEP_0__ Perfil de provisión |
--build-provision-profile-base64-prod <profile> | BUILD_PROVISION_PROFILE_BASE64_PROD | BUILD_PROVISION_PROFILE_BASE64_PROD | — | Perfil de provisión de producción (opcional, para distribución en la Tienda de App) |
--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 Flag | Variable de entorno | Llave de credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--apple-key-id <id> | APPLE_KEY_ID | APPLE_KEY_ID | — | Llave de identificación 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 | — | Llave de App Store Connect codificada en Base64 (API) (.p8 nombre del archivo) |
--apple-profile-name <name> | APPLE_PROFILE_NAME | APPLE_PROFILE_NAME | — | Nombre del perfil de configuración como se muestra en el portal del desarrollador de Apple |
--app-store-connect-team-id <id> | APP_STORE_CONNECT_TEAM_ID | APP_STORE_CONNECT_TEAM_ID | — | ID de equipo de App Store Connect |
Configuración de compilación de iOS
Sección titulada “Configuración de compilación de iOS”| CLI Flag | 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 |
Opciones de Android
Sección titulada “Opciones de Android”Firma de llave de keystore
Sección titulada “Firma de Keystore”| CLI Flag | Variable de Entorno | Llave de Credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--android-keystore-file <keystore> | ANDROID_KEYSTORE_FILE | ANDROID_KEYSTORE_FILE | — | Archivo de keystore codificado en Base64 (.keystore o .jks) |
--keystore-key-alias <alias> | KEYSTORE_KEY_ALIAS | KEYSTORE_KEY_ALIAS | key0 | Alias de clave de keystore |
--keystore-key-password <password> | KEYSTORE_KEY_PASSWORD | KEYSTORE_KEY_PASSWORD | — | Contraseña de clave de keystore (cae en la contraseña de almacenamiento si no está configurada) |
--keystore-store-password <password> | KEYSTORE_STORE_PASSWORD | KEYSTORE_STORE_PASSWORD | — | Contraseña de almacenamiento de keystore |
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 de servicio de Google Play codificada en Base64 |
Configuración de compilación de Android
Sección titulada “Configuración de compilación de Android”| Variable de entorno | Predeterminado | Descripción |
|---|---|---|
PLAY_STORE_TRACK | internal | Pista de lanzamiento de Google Play (internal, alpha, beta, production) |
PLAY_STORE_RELEASE_STATUS | draft | Estado de lanzamiento en Google Play (draft, completed) |
Opciones de control de compilación
Sección titulada “Opciones de control de compilación”Estas opciones funcionan tanto para compilaciones de iOS como para Android.
Modo de compilación
__CAPGO_KEEP_0__ Flag| CLI Flag | Descripción | Requerido. |
|---|---|---|
--platform <platform> | — | o ios o android |
--build-mode <mode> | release | debug o release |
--build-config <json> | — | Configuración adicional de JSON de compilación |
--path <path> | . | Directorio del proyecto |
--verbose | false | Habilitar registro de compilación detallado |
Control de Número de Compilación
Sección titulada “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 | Saltarse el incremento automático del número de compilación / versión code |
--no-skip-build-number-bump | — | — | — | Rehabilitar explícitamente la auto-incrementación (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 de App Store Connect, incrementa en 1
- Android: Obtiene el máximo
versionCodede Google Play, incrementa en 1
Cuando --skip-build-number-bump se establece, la compilación utiliza la versión que ya está en los archivos de su proyecto (proyecto de Xcode o build.gradle).
Subida de salida
Sección titulada “Subida de salida”| CLI Flag | Variable de Entorno | Clave de Credenciales | Predeterminado | Descripción |
|---|---|---|---|---|
--output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | BUILD_OUTPUT_UPLOAD_ENABLED | false | Subir resultados de compilación (IPA/APK/AAB) a Capgo de almacenamiento. Cuando se establece mediante variable de entorno, utilice BUILD_OUTPUT_UPLOAD_ENABLED=true. |
--no-output-upload | BUILD_OUTPUT_UPLOAD_ENABLED | — | — | Deshabilitar la subida de resultados. Cuando se establece mediante variable de entorno, utilice BUILD_OUTPUT_UPLOAD_ENABLED=false. |
--output-retention <duration> | BUILD_OUTPUT_RETENTION_SECONDS | BUILD_OUTPUT_RETENTION_SECONDS | 1h | ¿Cuánto tiempo permanecen activos los enlaces de descarga |
Formato de retención: Utilizar duraciones legibles por humanos como 1h, 6h, 2d, 7d. El mínimo es 1 hora, el máximo es 7 días. Cuando se establece mediante variable de entorno, utilice segundos (por ejemplo, 3600 para 1 hora).
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 la autenticación |
--supa-host <host> | — | — | Host de Supabase personalizado (solo para autohospedaje) |
--supa-anon <key> | — | — | Clave de anonimato de Supabase personalizada (solo para autohospedaje) |
Referencia rápida de Variable de Entorno
Sección titulada “Referencia rápida de Variable de Entorno”Pega y pestañea para 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>"BUILD_PROVISION_PROFILE_BASE64="<base64-encoded .mobileprovision>"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>"APPLE_PROFILE_NAME="My App Distribution Profile"APP_STORE_CONNECT_TEAM_ID="TEAM123456"
# 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 las credenciales una vez:
# Save iOS credentialsbunx @capgo/cli build credentials save \ --platform ios \ --certificate ./dist_cert.p12 \ --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-profile-name "My App Profile" \ --apple-team-id TEAM123456
# Save Android credentialsbunx @capgo/cli 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 |
|---|---|---|
| (por defecto) | ~/.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 codificadas por ID de la aplicación (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 además por plataforma (ios / android).
Administrar credenciales guardadas
Sección titulada “Administrar credenciales guardadas”# List saved credentialsbunx @capgo/cli build credentials list
# Update a specific option without re-entering everythingbunx @capgo/cli build credentials update --skip-build-number-bump
# Clear saved credentialsbunx @capgo/cli 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 build request --platform ios env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_CERTIFICATE }} BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.IOS_PROFILE }} 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 }} APPLE_PROFILE_NAME: ${{ secrets.APPLE_PROFILE_NAME }} 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 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 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 build request \ --platform android \ --skip-build-number-bump \ --no-output-upload \ --apikey YOUR_API_KEYConfiguración mixta
Sección titulada “Configuración mixta”Combina las credenciales guardadas con sobreescripciones de CLI:
# Save base credentials oncebunx @capgo/cli build credentials save --platform ios \ --certificate ./cert.p12 \ --provisioning-profile ./profile.mobileprovision \ --output-upload
# Override specific options per-buildbunx @capgo/cli build request --platform ios \ --skip-build-number-bump \ --output-retention 2dLas credenciales guardadas proporcionan detalles de firma mientras las banderas de CLI sobreescriben el comportamiento de compilación para esta ejecución específica.