Gestión de Credenciales
Gestiona tus credenciales de compilación de iOS y Android localmente para compilaciones en la nube convenientes.
Descripción General
Section titled “Descripción General”Capgo CLI te permite guardar credenciales de compilación localmente en tu máquina en la carpeta .capgo-credentials. Cuando ejecutas una compilación, estas credenciales se usan automáticamente y se envían de forma segura a los servidores de compilación de Capgo.
Comandos
Section titled “Comandos”Guardar Credenciales
Section titled “Guardar Credenciales”Almacena tus credenciales de compilación localmente para uso automático:
npx @capgo/cli build credentials save --platform <ios|android> [opciones]Listar Credenciales
Section titled “Listar Credenciales”Ver credenciales guardadas actualmente (las contraseñas están enmascaradas):
npx @capgo/cli build credentials listLimpiar Credenciales
Section titled “Limpiar Credenciales”Eliminar credenciales guardadas de tu máquina local:
# Limpiar todas las credencialesnpx @capgo/cli build credentials clear
# Limpiar solo credenciales iOSnpx @capgo/cli build credentials clear --platform ios
# Limpiar solo credenciales Androidnpx @capgo/cli build credentials clear --platform androidGuardar Credenciales iOS
Section titled “Guardar Credenciales iOS”Ejemplo Completo
Section titled “Ejemplo Completo”npx @capgo/cli build credentials save \ --platform ios \ --certificate ./cert.p12 \ --p12-password "TuContraseñaP12" \ --provisioning-profile ./profile.mobileprovision \ --apple-key ./AuthKey_ABC1234567.p8 \ --apple-key-id "ABC1234567" \ --apple-issuer-id "00000000-0000-0000-0000-000000000000" \ --apple-team-id "TEAM123456"Opciones iOS
Section titled “Opciones iOS”| Opción | Descripción | Requerido |
|---|---|---|
--certificate <ruta> | Ruta al archivo de certificado .p12 | Sí (lanzamiento) |
--p12-password <contraseña> | Contraseña para el certificado .p12 | Sí (lanzamiento) |
--provisioning-profile <ruta> | Ruta al archivo .mobileprovision | Sí (lanzamiento) |
--provisioning-profile-prod <ruta> | Perfil de aprovisionamiento de producción (opcional) | No |
--apple-key <ruta> | Ruta a la clave API .p8 de App Store Connect | Sí (envío) |
--apple-key-id <id> | ID de clave API de App Store Connect | Sí (envío) |
--apple-issuer-id <id> | ID de emisor API de App Store Connect (UUID) | Sí (envío) |
--apple-team-id <id> | ID de equipo de App Store Connect | Sí (envío) |
--apple-id <email> | Email de Apple ID (autenticación alternativa) | No |
--apple-app-password <contraseña> | Contraseña específica de la aplicación (autenticación alternativa) | No |
Qué se Almacena
Section titled “Qué se Almacena”Cuando guardas credenciales iOS, el CLI:
- Lee los archivos de certificado y perfil de aprovisionamiento
- Los convierte a codificación base64
- Guarda las credenciales en la carpeta
.capgo-credentials - Almacena contraseñas e IDs como texto plano (solo archivos locales)
La estructura de archivos almacenada:
{ "ios": { "BUILD_CERTIFICATE_BASE64": "...", "BUILD_PROVISION_PROFILE_BASE64": "...", "APPLE_KEY_CONTENT": "...", "P12_PASSWORD": "...", "APPLE_KEY_ID": "ABC1234567", "APPLE_ISSUER_ID": "...", "APP_STORE_CONNECT_TEAM_ID": "TEAM123456" }}Guardar Credenciales Android
Section titled “Guardar Credenciales Android”Ejemplo Completo
Section titled “Ejemplo Completo”npx @capgo/cli build credentials save \ --platform android \ --keystore ./release.keystore \ --keystore-alias "mi-alias-de-clave" \ --keystore-key-password "ContraseñaClave123" \ --keystore-store-password "ContraseñaAlmacén123" \ --play-config ./play-store-service-account.jsonOpciones Android
Section titled “Opciones Android”| Opción | Descripción | Requerido |
|---|---|---|
--keystore <ruta> | Ruta al archivo .keystore o .jks | Sí (lanzamiento) |
--keystore-alias <alias> | Alias de la clave en el keystore | Sí (lanzamiento) |
--keystore-key-password <contraseña> | Contraseña para el alias de la clave | Sí (lanzamiento) |
--keystore-store-password <contraseña> | Contraseña para el keystore | Sí (lanzamiento) |
--play-config <ruta> | Ruta al JSON de la cuenta de servicio de Play Store | Sí (envío) |
Qué se Almacena
Section titled “Qué se Almacena”Cuando guardas credenciales Android, el CLI:
- Lee los archivos keystore y JSON de la cuenta de servicio
- Los convierte a codificación base64
- Guarda las credenciales en la carpeta
.capgo-credentials - Almacena contraseñas y alias como texto plano (solo archivos locales)
La estructura de archivos almacenada:
{ "android": { "ANDROID_KEYSTORE_FILE": "...", "PLAY_CONFIG_JSON": "...", "KEYSTORE_KEY_ALIAS": "mi-alias-de-clave", "KEYSTORE_KEY_PASSWORD": "...", "KEYSTORE_STORE_PASSWORD": "..." }}}Usar Credenciales Guardadas
Section titled “Usar Credenciales Guardadas”Una vez que hayas guardado las credenciales, se usan automáticamente cuando compiles:
# Las credenciales se cargan automáticamente desde la carpeta .capgo-credentialsnpx @capgo/cli build com.example.app --platform iosTambién puedes sobrescribir las credenciales guardadas usando variables de entorno:
# Las variables de entorno tienen prioridad sobre las credenciales guardadasBUILD_CERTIFICATE_BASE64="..." \P12_PASSWORD="contraseña-diferente" \npx @capgo/cli build com.example.app --platform iosOrden de precedencia:
- Variables de entorno (prioridad más alta)
- Credenciales guardadas en la carpeta
.capgo-credentials - Sin credenciales (prioridad más baja)
Ver Credenciales Guardadas
Section titled “Ver Credenciales Guardadas”Lista qué credenciales tienes guardadas:
npx @capgo/cli build credentials listEjemplo de salida:
📋 Credenciales de Compilación Guardadas:
Credenciales iOS: ✓ Certificado (base64) ✓ Perfil de Aprovisionamiento (base64) ✓ Contenido de Clave Apple (base64) ✓ Contraseña P12: ******** ✓ ID de Clave Apple: ABC1234567 ✓ ID de Emisor Apple: 00000000-0000-0000-0000-000000000000 ✓ ID de Equipo: TEAM123456
Credenciales Android: ✓ Keystore (base64) ✓ Configuración de Play Store (base64) ✓ Alias de Keystore: mi-alias-de-clave ✓ Contraseña de Clave: ******** ✓ Contraseña de Almacén: ********
Ubicación: .capgo-credentials/
🔒 Estas credenciales se almacenan localmente solo en tu máquina. Al compilar, se envían a Capgo pero NUNCA se almacenan allí. Se eliminan automáticamente después de completar la compilación (máx. 24 horas).Mejores Prácticas de Seguridad
Section titled “Mejores Prácticas de Seguridad”Seguridad de Almacenamiento Local
Section titled “Seguridad de Almacenamiento Local”-
Permisos de Archivo
Terminal window # Asegurar que la carpeta de credenciales no sea legible por otroschmod 700 .capgo-credentialschmod 600 .capgo-credentials/* -
Nunca Confirmar Credenciales
Terminal window # Agregar a .gitignoreecho ".capgo-credentials/" >> .gitignore -
Separar Credenciales
- Usa diferentes credenciales para desarrollo local vs CI/CD
- Rota las credenciales regularmente
- No compartas credenciales entre miembros del equipo
Uso en CI/CD
Section titled “Uso en CI/CD”Para entornos CI/CD, prefiere variables de entorno sobre credenciales guardadas:
# GitHub Actionsenv: BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_CERTIFICATE }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} # ... otros secretosEsto es más seguro porque:
- Los secretos son gestionados por tu plataforma CI/CD
- No hay archivos de credenciales en los runners
- Fácil rotación y control de acceso
- Pistas de auditoría para uso de secretos
Rotación de Credenciales
Section titled “Rotación de Credenciales”Rota tus credenciales regularmente:
- iOS: Genera nuevos certificados y claves API anualmente
- Android: Cambia las contraseñas del keystore anualmente
- Después de cambios de equipo: Rota cuando los miembros del equipo se vayan
Actualizar credenciales guardadas:
# Vuelve a ejecutar el comando save con nuevas credencialesnpx @capgo/cli build credentials save --platform ios --certificate ./nuevo-cert.p12 ...Solución de Problemas
Section titled “Solución de Problemas””No se encontraron credenciales”
Section titled “”No se encontraron credenciales””Si la compilación dice que no se encontraron credenciales:
-
Verifica si las credenciales están guardadas:
Terminal window npx @capgo/cli build credentials list -
Guarda las credenciales si faltan:
Terminal window npx @capgo/cli build credentials save --platform ios ... -
Verifica que la carpeta de credenciales exista:
Terminal window ls -la .capgo-credentials/
“Permiso denegado” al leer credenciales
Section titled ““Permiso denegado” al leer credenciales”Corrige los permisos de archivo:
chmod 700 .capgo-credentialschmod 600 .capgo-credentials/*Las credenciales no se están usando
Section titled “Las credenciales no se están usando”Verifica que se especifique la plataforma correcta:
# Asegúrate de que --platform coincida con las credenciales guardadasnpx @capgo/cli build com.example.app --platform ios # Usa credenciales iosnpx @capgo/cli build com.example.app --platform android # Usa credenciales androidLimpiar y volver a guardar credenciales
Section titled “Limpiar y volver a guardar credenciales”Si las credenciales parecen corruptas:
# Limpiar todas las credencialesnpx @capgo/cli build credentials clear
# Guardar nuevamentenpx @capgo/cli build credentials save --platform ios ...Migración desde Variables de Entorno
Section titled “Migración desde Variables de Entorno”Si actualmente estás usando variables de entorno, puedes migrar a credenciales guardadas:
-
Extrae tus variables de entorno actuales
Terminal window echo $BUILD_CERTIFICATE_BASE64 # Verifica que existan -
Decodifica los archivos base64 a archivos originales (si es necesario)
Terminal window echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision -
Guarda usando el CLI
Terminal window npx @capgo/cli build credentials save \--platform ios \--certificate ./cert.p12 \--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" -
Prueba la compilación
Terminal window npx @capgo/cli build com.example.app --platform ios -
Elimina las variables de entorno (opcional)
Terminal window unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64
Ubicación de Archivo
Section titled “Ubicación de Archivo”Las credenciales se almacenan en la carpeta .capgo-credentials:
- macOS/Linux:
.capgo-credentials/(en la raíz de tu proyecto o directorio home) - Windows:
.capgo-credentials\(en la raíz de tu proyecto o directorio home)
La carpeta se crea automáticamente cuando guardas credenciales por primera vez.
Próximos Pasos
Section titled “Próximos Pasos”- Comenzar - Crea tu primera compilación
- Compilaciones iOS - Configuración de compilación específica para iOS
- Compilaciones Android - Configuración de compilación específica para Android
- Solución de Problemas - Problemas comunes y soluciones