Gestionar credenciales
Copia un prompt de configuración con los pasos de instalación y la guía markdown completa para este plugin.
Manage your iOS and Android build credentials locally for convenient cloud builds.
Resumen
Sección titulada “Resumen”Capgo CLI almacena sus credenciales de compilación en su máquina — nunca en los servidores de Capgo . Por defecto, viven en un archivo global file, ~/.capgo-credentials/credentials.jsonCompartido en todos tus proyectos. --local por proyecto Overview en español .capgo-credentials.json en su lugar. Cuando ejecutes una compilación, los credenciales guardadas se utilizan automáticamente y se envían de manera segura a Capgo, luego se eliminan después de que se complete la compilación.
Comandos
Sección titulada “Comandos”Gestionar credenciales de manera interactiva
Sección titulada “Gestionar credenciales de manera interactiva”La forma más rápida de trabajar con sus credenciales guardadas es el administrador interactivo. Abre una ventana de terminal (la misma que build init credenciales) donde puedes navegar por lo que está almacenado, ver qué está configurado por aplicación y plataforma, exportar un CI/CD listo para producción .env file, or delete a platform’s credentials:
bunx @capgo/cli@latest build credentials manage| Option | Descripción |
|---|---|
--appId <appId> | Aplicación para gestionar (te pide que elijas si se omite) |
--platform <ios|android> | Plataforma para gestionar (te pide si se omite) |
--local | Utiliza el archivo por proyecto .capgo-credentials.json en lugar del archivo global |
Preferir comandos scriptables y de una sola ejecución? Utiliza los comandos individuales debajo.
Guardar credenciales
Sección titulada “Guardar credenciales”Almacena tus credenciales de construcción localmente para su uso automático:
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]Actualizar credenciales
Sección titulada “Actualizar credenciales”Actualice parcialmente las credenciales existentes sin tener que proporcionar todo de nuevo:
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]La update El comando utiliza la fusión aditiva para perfiles de configuración — los nuevos perfiles se fusionan con los existentes. Para reemplazar la totalidad del mapa de configuración en su lugar, agregue --overwrite-ios-provisioning-map.
Ejemplo — agregar un perfil de extensión a las credenciales existentes:
bunx @capgo/cli@latest build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"El comando de actualización acepta las mismas opciones que save Pero todos son opcionales — solo los campos que proporcionas se actualizan.
Lista de credenciales
Section titled “List Credentials”Ver credenciales guardadas actualmente (las contraseñas están ocultas):
bunx @capgo/cli@latest build credentials list
# List credentials for a specific appbunx @capgo/cli@latest build credentials list --appId com.example.appEliminar credenciales
Sección titulada “Eliminar credenciales”Elimina las credenciales guardadas de tu máquina local:
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Clear credentials for a specific app + platformbunx @capgo/cli@latest build credentials clear --appId com.example.app --platform iosMigrar Credenciales
Sección titulada “Migrar credenciales”Convirta el formato de perfil único legado al nuevo formato de múltiples objetivos:
bunx @capgo/cli@latest build credentials migrate --platform iosLa orden migrate detecta credenciales antiguas BUILD_PROVISION_PROFILE_BASE64 y elimina las llaves de legado. Consulte CAPGO_IOS_PROVISIONING_MAPMigración desde un perfil único para obtener más detalles. Almacenando credenciales de iOS
Sección titulada “Almacenando credenciales de iOS”
Section titled “Saving iOS Credentials”Ejemplo completo
Sección titulada “Ejemplo completo”bunx @capgo/cli@latest build credentials save \ --platform ios \ --certificate ./cert.p12 \ --p12-password "YourP12Password" \ --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \ --apple-key ./AuthKey_ABC1234567.p8 \ --apple-key-id "ABC1234567" \ --apple-issuer-id "00000000-0000-0000-0000-000000000000" \ --apple-team-id "TEAM123456"Opciones de iOS
Sección titulada “Opciones de iOS”| Opción | Descripción | Requerido |
|---|---|---|
--certificate <path> | Ruta al archivo de certificado .p12 | Sí (lanzamiento) |
--p12-password <password> | Contraseña para el certificado .p12 | Sí (lanzamiento) |
--ios-provisioning-profile <mapping> | Mapeo de perfil de provisionamiento (bundleId=pathSi solo hay un perfil y no hay un prefijo bundleId, CLI se infiere automáticamente desde el perfil. | Sí (lanzamiento) |
--apple-key <path> | Ruta al archivo de clave .p8 de App Store Connect API | Ver nota¹ |
--apple-key-id <id> | ID de clave de App Store Connect API | Ver nota¹ |
--apple-issuer-id <id> | App Store Connect API Identificador de emisor (UUID) | Ver nota¹ |
--apple-team-id <id> | App Store Connect Identificador de equipo | Sí |
--apple-id <email> | Correo electrónico de ID de Apple para subir contraseña de aplicación (alternativa al API clave) | Ver nota² |
--apple-app-specific-password <password> | Contraseña de aplicación específica (xxxx-xxxx-xxxx-xxxx) | Ver nota² |
--apple-app-id <id> | Numeric App Store Connect app ID (e.g. 1234567890) | Ver nota² |
--ios-distribution <mode> | Modo de distribución: app_store (por defecto) o ad_hoc | No |
--output-upload | Habilitar un enlace de descarga temporal de Capgo para el artefacto de compilación | No (por defecto: false) |
--output-retention <seconds> | How long to keep build outputs (e.g. 3600s) | No (por defecto: 3600s) |
--skip-build-number-bump | Skip automatic build-number increment | No |
Sección titulada “¿Qué se Almacena”
Sección titulada “¿Qué se Almacena”Cuando guardes las credenciales de iOS, el CLI:
- Lee los archivos de certificado y perfil de provisión
- Convierte a codificación base64
- Almacena en ellos
~/.capgo-credentials/credentials.json(o.capgo-credentials.jsoncon--local) - Almacena contraseñas e IDs como texto plano (solo archivos locales)
La estructura de archivo almacenada:
{ "ios": { "BUILD_CERTIFICATE_BASE64": "...", "CAPGO_IOS_PROVISIONING_MAP": "{\"com.example.app\":{\"profile\":\"...\",\"name\":\"match AppStore com.example.app\"}}", "APPLE_KEY_CONTENT": "...", "P12_PASSWORD": "...", "APPLE_KEY_ID": "ABC1234567", "APPLE_ISSUER_ID": "...", "APP_STORE_CONNECT_TEAM_ID": "TEAM123456", "CAPGO_IOS_DISTRIBUTION": "app_store" }}Almacenando credenciales de Android
Sección titulada “Almacenando credenciales de Android”Ejemplo Completo
Sección titulada “Ejemplo Completo”bunx @capgo/cli@latest build credentials save \ --platform android \ --keystore ./release.keystore \ --keystore-alias "my-key-alias" \ --keystore-key-password "KeyPassword123" \ --keystore-store-password "StorePassword123" \ --play-config ./play-store-service-account.jsonOpciones de Android
Section titled “Android Options”| Option | Opción | Descripción |
|---|---|---|
--keystore <path> | Ruta al archivo .keystore o .jks | Sí (versión de lanzamiento) |
--keystore-alias <alias> | Alias de clave en el keystore | Sí (lanzamiento) |
--keystore-key-password <password> | Contraseña para la clave de alias | Sí (lanzamiento) |
--keystore-store-password <password> | Contraseña para el keystore | Sí (lanzamiento) |
--play-config <path> | Ruta al archivo JSON de servicio de Play Store | Yes (submission) |
¿Qué se almacena?
Sección titulada “¿Qué se almacena?”Al guardar credenciales de Android, el CLI:
- Lee los archivos keystore y JSON de servicio
- Los convierte a codificación base64
- Los almacena en
~/.capgo-credentials/credentials.jsono.capgo-credentials.jsoncon--local) - Almacena contraseñas y alias como texto plano (solo archivos locales)
La estructura del archivo almacenado:
{ "android": { "ANDROID_KEYSTORE_FILE": "...", "PLAY_CONFIG_JSON": "...", "KEYSTORE_KEY_ALIAS": "my-key-alias", "KEYSTORE_KEY_PASSWORD": "...", "KEYSTORE_STORE_PASSWORD": "..." }}Usando credenciales guardadas
Sección titulada “Usando credenciales guardadas”Una vez que has guardado credenciales, se utilizan automáticamente cuando construyes:
# Credentials automatically loaded from ~/.capgo-credentials/credentials.jsonbunx @capgo/cli@latest build request com.example.app --platform iosTambién puede sobreescribir las credenciales guardadas utilizando variables de entorno:
# Environment variables take precedence over saved credentialsBUILD_CERTIFICATE_BASE64="..." \P12_PASSWORD="different-password" \bunx @capgo/cli@latest build request com.example.app --platform iosOrden de precedencia:
- Variables de entorno (prioridad más alta)
- Credenciales guardadas (
~/.capgo-credentials/credentials.json, o locales).capgo-credentials.json) - Sin credenciales (prioridad más baja)
Ver credenciales guardadas
Sección titulada “Ver credenciales guardadas”Muestra las credenciales que has guardado:
bunx @capgo/cli@latest build credentials list__CAPGO_KEEP_0__
📋 Saved Build Credentials:
iOS Credentials: ✓ Certificate (base64) ✓ Provisioning Map (JSON) ✓ Apple Key Content (base64) ✓ P12 Password: ******** ✓ Apple Key ID: ABC1234567 ✓ Apple Issuer ID: 00000000-0000-0000-0000-000000000000 ✓ Team ID: TEAM123456
Android Credentials: ✓ Keystore (base64) ✓ Play Store Config (base64) ✓ Keystore Alias: my-key-alias ✓ Key Password: ******** ✓ Store Password: ********
Location: ~/.capgo-credentials/credentials.json
🔒 These credentials are stored locally on your machine only. When building, they are sent to Capgo but NEVER stored there. They are auto-deleted after build completion.Prácticas de seguridad
Prácticas de seguridad recomendadasSeguridad en almacenamiento local
Seguridad en almacenamiento local-
Permisos de archivo
Ventana de terminal # Global credentials directory + filechmod 700 ~/.capgo-credentialschmod 600 ~/.capgo-credentials/credentials.json# Local (per-project) credentials, if you use --localchmod 600 .capgo-credentials.json -
No cometer credenciales
Ventana de terminal # Ignore the per-project credentials file (used with --local)echo ".capgo-credentials.json" >> .gitignoreLa archivo global se encuentra en tu directorio de inicio, fuera del repositorio.
-
Credenciales separadas
- Usar credenciales diferentes para el desarrollo local vs CI/CD
- Rotar credenciales con regularidad
- No compartir credenciales entre miembros del equipo
Uso de CI/CD
Título de la sección “Uso de CI/CD”Para entornos de CI/CD, prefiere variables de entorno antes que credenciales guardadas.
Exportar listo para usar .env (recomendado)
Sección titulada “Exporta un archivo .env listo para usar (recomendado)”En lugar de codificar manualmente cada archivo de credenciales en base64 (consulte abajo) build credentials manage genera el archivo para ti:
bunx @capgo/cli@latest build credentials manage# pick your app → choose "Export to .env"Escribe un .env.capgo.<appId>.<platform> escribe un archivo (permisos 0600) que contiene cada credencial guardada como una variable de entorno — cada línea es un secreto para agregar a tu proveedor de CI/CD. Por defecto, se combinan ambas plataformas; agrega --platform ios o --platform android Para limitar el alcance a uno.
Referencia completa de variables de entorno
Sección titulada “Referencia completa de variables de entorno”El CLI lee las siguientes variables de entorno para credenciales:
Credenciales de iOS:
| Variable | Descripción | Formato | Requerido |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | Certificado P12/PKCS12 para la firma de code | Base64 | Sí (lanzamiento) |
CAPGO_IOS_PROVISIONING_MAP | Mapa JSON de IDs de paquetes a datos de perfil de provisión | Cadena JSON | Sí (lanzamiento) |
P12_PASSWORD | Contraseña para el certificado P12 | Texto plano | Opcional |
APPLE_KEY_ID | ID de clave de App Store Connect para API | Cadena de texto (por ejemplo, “ABC1234567”) | Ver nota¹ |
APPLE_ISSUER_ID | App Store Connect API Identificador de emisor | cadena de UUID | Ver nota¹ |
APPLE_KEY_CONTENT | App Store Connect API clave (contenido del archivo .p8) | Base64 | Ver nota¹ |
APP_STORE_CONNECT_TEAM_ID | ID de equipo de desarrollador de Apple | cadena (por ejemplo, ‘XXXXXXXXXX’) | Sí |
CAPGO_IOS_DISTRIBUTION | Modo de distribución: app_store (por defecto) o ad_hoc | String | No |
Credenciales de Android:
| Variable | Descripción | Formato | Requerido |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | Archivo de keystore para firmar APK/AAB | Base64 | Sí (versión de lanzamiento) |
KEYSTORE_KEY_ALIAS | Alias de clave dentro del keystore | String | Sí (lanzamiento) |
KEYSTORE_KEY_PASSWORD | Contraseña para el alias de la clave | Texto plano | Sí* |
KEYSTORE_STORE_PASSWORD | Contraseña para el archivo del keystore | Texto plano | Sí* |
PLAY_CONFIG_JSON | JSON de cuenta de servicio de Google Play | Base64 | Yes (submission) |
*Si se proporciona solo una contraseña, se utilizará para ambos KEYSTORE_KEY_PASSWORD y KEYSTORE_STORE_PASSWORD.
GitHub Acciones de ejemplo
Sección titulada “GitHub Acciones de ejemplo”name: Cloud Build
on: 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 @capgo/cli@latest build request com.example.app --platform ios env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} 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 @capgo/cli@latest build request com.example.app --platform android env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE_FILE }} KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }} KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }} PLAY_CONFIG_JSON: ${{ secrets.PLAY_CONFIG_JSON }}Preparando valores Base64
Sección titulada “Preparando valores Base64”Para convertir tus archivos de credenciales a base64 para secretos de CI/CD:
# iOS Certificate (.p12)base64 -i certificate.p12 | tr -d '\n' > certificate_base64.txt
# iOS Provisioning Profiles — use the CLI to generate CAPGO_IOS_PROVISIONING_MAP:bunx @capgo/cli@latest build credentials save --platform ios \ --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \ # ... other options# Then copy CAPGO_IOS_PROVISIONING_MAP from ~/.capgo-credentials/credentials.json to your CI secrets
# iOS App Store Connect Key (.p8)base64 -i AuthKey_XXXXXX.p8 | tr -d '\n' > apple_key_base64.txt
# Android Keystore (.keystore or .jks)base64 -i release.keystore | tr -d '\n' > keystore_base64.txt
# Google Play Service Account JSONbase64 -i play-store-service-account.json | tr -d '\n' > play_config_base64.txt¿Por qué las variables de entorno son más seguras?
Sección titulada “¿Por qué las variables de entorno son más seguras?”Esta aproximación es más segura porque:
- Los secretos están gestionados por tu plataforma CI/CD
- No hay archivos de credenciales en ejecutores
- Control de acceso y rotación fáciles
- Registros de auditoría para el uso de secretos
Rotación de credenciales
Sección titulada “Rotación de credenciales”Rota tus credenciales regularmente:
- iOS: Genera nuevos certificados y API claves anualmente
- Android: Cambia contraseñas de keystore anualmente
- Después de los cambios de equipo: Rotar cuando miembros del equipo dejen
: Actualiza credenciales guardadas:
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...Solución de problemas
Título de sección “Solución de problemas”No se encontraron credenciales
Título de sección ““No se encontraron credenciales”””Si el build dice que no se encontraron credenciales:
-
Verificar si las credenciales están guardadas:
ventana de terminal bunx @capgo/cli@latest build credentials list -
Guardar credenciales si faltan:
ventana de terminal bunx @capgo/cli@latest build credentials save --platform ios ... -
Verificar que el archivo de credenciales existe:
ventana de terminal ls -la ~/.capgo-credentials/credentials.json # globalls -la .capgo-credentials.json # local (--local)
“Denegado de permiso” al leer credenciales
Sección titulada ““Denegado de permiso” al leer credenciales”Corregir permisos de archivo:
chmod 600 ~/.capgo-credentials/credentials.json # globalchmod 600 .capgo-credentials.json # localNo se están utilizando las credenciales
Sección titulada “No se están utilizando las credenciales”Verificar que se ha especificado la plataforma correcta:
# Make sure --platform matches saved credentialsbunx @capgo/cli@latest build request com.example.app --platform ios # Uses ios credentialsbunx @capgo/cli@latest build request com.example.app --platform android # Uses android credentialsBorrar y volver a guardar las credenciales
Sección titulada “Borrar y volver a guardar las credenciales”Si las credenciales parecen estar dañadas:
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Save againbunx @capgo/cli@latest build credentials save --platform ios ...Migración desde Variables de Entorno
Sección titulada “Migración desde Variables de Entorno”Si actualmente estás utilizando variables de entorno, puedes migrar a credenciales guardadas:
-
Extrae tus variables de entorno actuales
Ventana de terminal echo $BUILD_CERTIFICATE_BASE64 # Verify they exist -
Descodifica archivos base64 de vuelta a archivos originales Si es necesario
Ventana de terminal echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision -
Guarda utilizando el CLI
Ventana de terminal bunx @capgo/cli@latest build credentials save \--platform ios \--certificate ./cert.p12 \--ios-provisioning-profile ./profile.mobileprovision \--p12-password "$P12_PASSWORD" \--apple-key-id "$APPLE_KEY_ID" \--apple-issuer-id "$APPLE_ISSUER_ID" \--apple-team-id "$APP_STORE_CONNECT_TEAM_ID"Si tienes credenciales existentes guardadas en el formato antiguo (singular)
BUILD_PROVISION_PROFILE_BASE64Corre:Ventana de terminal bunx @capgo/cli@latest build credentials migrate --platform iosEsto convierte la legado de perfil único a un
CAPGO_IOS_PROVISIONING_MAPy elimina el viejoBUILD_PROVISION_PROFILE_BASE64yAPPLE_PROFILE_NAMEkeys. -
Prueba la compilación
Ventana de terminal bunx @capgo/cli@latest build request com.example.app --platform ios -
Eliminar variables de entorno (opcional)
Ventana de terminal unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64
Ubicación del archivo
Ubicación del archivoLos credenciales se almacenan en un archivo JSON único.
- (por defecto): (default):
~/.capgo-credentials/credentials.jsoncompartido en todos tus proyectos - Local (con
--local):.capgo-credentials.jsonen el directorio raíz de tu proyecto — sobreescribe el archivo global para ese proyecto
El archivo se crea automáticamente la primera vez que guardas credenciales. Agrega .capgo-credentials.json a tu .gitignore Las credenciales por proyecto nunca se cometen.
Pasos siguientes
Sección titulada “Pasos siguientes”- Getting Started - Crea tu primer build
- iOS Builds - Configuración de compilación específica de iOS
- Compilaciones de Android - Configuración de construcción específica de Android
- Solución de problemas Configuración de construcción específica de Android
¿Necesita ayuda?
Section titled “Need Help?”support@__CAPGO_KEEP_0__.app
Siga adelante desde la gestión de credencialesSi estás utilizando Administración de credenciales planificar la automatización de CI/CD, conectarla con Capgo CI/CD para el flujo de trabajo del producto en Capgo CI/CD, Capgo compilaciones nativas para el flujo de trabajo del producto en Capgo compilaciones nativas, Capgo integraciones para el flujo de trabajo del producto en Capgo integraciones, Integración de CI/CD para los detalles de implementación en Integración de CI/CD, y GitHub integración de acciones para los detalles de implementación en GitHub integración de acciones.