Administrar Credenciales
Copiar una solicitud de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Administre sus credenciales de compilación de iOS y Android localmente para realizar compilaciones en la nube de manera conveniente.
Resumen
Sección titulada “Resumen”Capgo CLI le permite guardar credenciales de compilación localmente en su máquina en el .capgo-credentials carpeta. Cuando realice una compilación, estas credenciales se utilizan automáticamente y se envían de manera segura a los servidores de compilación de Capgo.
Comandos
Sección titulada “Comandos”Guardar credenciales
Sección titulada “Guardar credenciales”Almacena tus credenciales de compilación localmente para su uso automático:
npx @capgo/cli build credentials save --platform <ios|android> [options]Actualizar credenciales
Sección titulada “Actualizar credenciales”Actualiza las credenciales existentes de manera parcial sin tener que proporcionar todo de nuevo:
npx @capgo/cli build credentials update --platform <ios|android> [options]La update El comando utiliza la fusión aditiva para los perfiles de provisión — los nuevos perfiles se fusionan con los existentes. Para reemplazar la totalidad de la mapa de perfiles en lugar de eso, agrega Ejemplo — agregar un perfil de extensión a credenciales existentes: Ventana de terminal --overwrite-ios-provisioning-map.
Copiar a portapapeles
npx @capgo/cli build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"Lista de credenciales save Sección titulada “Lista de credenciales”
Ejemplo — agregar un perfil de extensión a credenciales existentes: __CAPGO_KEEP_0__
Ejemplo — agregar un perfil de extensión a credenciales existentes: __CAPGO_KEEP_0__Ver credenciales guardadas actualmente (las contraseñas están ocultas):
npx @capgo/cli build credentials list
# List credentials for a specific appnpx @capgo/cli build credentials list --appId com.example.appBorrar credenciales
Sección titulada “Borrar credenciales”Eliminar credenciales guardadas de tu máquina local:
# Clear all credentialsnpx @capgo/cli build credentials clear
# Clear credentials for a specific app + platformnpx @capgo/cli build credentials clear --appId com.example.app --platform iosMigrar credenciales
Sección titulada “Migrar credenciales”Convertir formato de legado de un solo perfil al nuevo formato de múltiples objetivos:
npx @capgo/cli build credentials migrate --platform iosEl comando de migración detecta credenciales antiguas, las convierte a BUILD_PROVISION_PROFILE_BASE64 y elimina las claves de legado. Consulte CAPGO_IOS_PROVISIONING_MAPMigración desde un perfil único para obtener más detalles. Guardar credenciales de iOS
Sección titulada “Guardar credenciales de iOS”
NotaEjemplo completo
Sección titulada “Ejemplo completo”npx @capgo/cli 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 provisión (bundleId=path). Repetible para aplicaciones multi-objetivo. Si solo hay un perfil y no hay prefijo de bundleId, CLI se infiere automáticamente desde el perfil. | Sí (lanzamiento) |
--apple-key <path> | Ruta de la 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> | ID emisor de App Store Connect API (UUID) | Ver nota¹ |
--apple-team-id <id> | ID del equipo de App Store Connect | Sí |
--ios-distribution <mode> | Modo de distribución: app_store (predeterminado) o ad_hoc | No |
--output-upload | Habilitar un enlace de descarga temporal de Capgo para el artefacto de compilación | No (predeterminado: false) |
--output-retention <seconds> | ¿Cuánto tiempo mantener los resultados de compilación (por ejemplo, 3600s) | No (predeterminado: 3600s) |
--skip-build-number-bump | Saltar el incremento automático del número de compilación | No |
¿Qué se almacena?
Sección titulada “¿Qué se almacena?”Cuando guardas credenciales de iOS, el CLI:
- Lee los archivos de certificado y perfil de provisión
- Los convierte a codificación base64
- Guarda las credenciales en el
.capgo-credentialscarpeta - Almacena contraseñas e IDs como texto plano (solo archivos locales)
La estructura del archivo almacenado:
{ "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" }}Guardando credenciales de Android
Sección titulada “Guardar credenciales de Android”Ejemplo completo
Ventana de terminalnpx @capgo/cli 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.jsonAndroid Options
Opciones de Android| Opción | Descripción | Requerido |
|---|---|---|
--keystore <path> | Ruta al archivo .keystore o .jks | Sí (lanzamiento) |
--keystore-alias <alias> | Alias de la clave en el keystore | Sí (lanzamiento) |
--keystore-key-password <password> | Contraseña para el alias de la clave | 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 | Sí (envío) |
¿Qué se almacena?
Sección titulada “¿Qué se almacena?”Cuando guardas credenciales de Android, el CLI:
- Lee los archivos de keystore y JSON de servicio
- Los convierte a codificación base64
- Guarda las credenciales en el
.capgo-credentialscarpeta - 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 hayas guardado credenciales, se utilizan automáticamente cuando construyes:
# Credentials automatically loaded from .capgo-credentials foldernpx @capgo/cli build com.example.app --platform iosTambién puedes sobreescribir credenciales guardadas utilizando variables de entorno:
# Environment variables take precedence over saved credentialsBUILD_CERTIFICATE_BASE64="..." \P12_PASSWORD="different-password" \npx @capgo/cli build com.example.app --platform iosOrden de precedencia:
- Variables de entorno (prioridad más alta)
- Credenciales guardadas en
.capgo-credentialscarpeta - No se han proporcionado credenciales (prioridad más baja)
Ver credenciales guardadas
Sección titulada “Ver credenciales guardadas”Muestra las credenciales que has guardado:
npx @capgo/cli build credentials listEjemplo de salida:
📋 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/
🔒 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 recomendadas de seguridad
Sección titulada “Prácticas recomendadas de seguridad”Seguridad de almacenamiento local
Sección titulada “Seguridad de almacenamiento local”-
Permisos de archivo
Ventana de terminal # Ensure credentials folder is not readable by otherschmod 700 .capgo-credentialschmod 600 .capgo-credentials/* -
Nunca cometas credenciales
Ventana de terminal # Add to .gitignoreecho ".capgo-credentials/" >> .gitignore -
Credenciales separadas
- Usa credenciales diferentes para desarrollo local vs CI/CD
- Rotar credenciales con regularidad
- No compartas credenciales entre miembros del equipo
Uso de CI/CD
Uso de CI/CDPara entornos CI/CD, prefiere variables de entorno sobre credenciales guardadas.
Referencia completa de variables de entorno
Sección titulada “Referencia completa de variables de entorno”La CLI lee las siguientes variables de entorno para credenciales:
Credenciales de iOS:
| Variable | Descripción | Formato | Requerido |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | Certificado P12/PKCS12 para firmar 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 | Clave de App Store Connect API | Cadena de texto (por ejemplo, “ABC1234567”) | Véase nota¹ |
APPLE_ISSUER_ID | Emisor de App Store Connect API | cadena de identificador único | Vea la nota¹ |
APPLE_KEY_CONTENT | clave de App Store Connect API (contenido del archivo .p8) | Base64 | Vea la 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 | Cadena | No |
Credenciales de Android:
| Variable | Descripción | Formato | Requerido |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | Archivo de keystore para firmar APK/AAB | Base64 | Sí (lanzamiento) |
KEYSTORE_KEY_ALIAS | Alias de clave dentro del keystore | Cadena de texto | Sí (lanzamiento) |
KEYSTORE_KEY_PASSWORD | Contraseña para el alias de clave | Texto plano | Sí* |
KEYSTORE_STORE_PASSWORD | Contraseña para el archivo del keystore | Texto plano | Sí* |
PLAY_CONFIG_JSON | JSON de la cuenta de servicios de Google Play | Base64 | Sí (envío) |
Si se proporciona solo una contraseña, se utilizará para ambos KEYSTORE_KEY_PASSWORD y KEYSTORE_STORE_PASSWORD.
GitHub Ejemplo de acciones
Sección titulada “GitHub Ejemplo de acciones”name: Cloud Build
on: push: branches: [main]
jobs: build-ios: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-node@v4 with: node-version: '20' - run: npm install - run: npx @capgo/cli build 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: actions/setup-node@v4 with: node-version: '20' - run: npm install - run: npx @capgo/cli build 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:npx @capgo/cli build credentials save --platform ios \ --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \ # ... other options# Then copy CAPGO_IOS_PROVISIONING_MAP from .capgo-credentials 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:
- Las secretas están gestionadas por tu plataforma CI/CD
- No hay archivos de credenciales en ejecutores
- Rotación y control de acceso fáciles
- Huellas de auditoría para el uso de secretas
Rotación de credenciales
Sección titulada “Rotación de credenciales”Rota tus credenciales regularmente:
- iOS: Genera nuevos certificados y API claves anualmente
- Android: Cambie las contraseñas del keystore anualmente
- Después de cambios en el equipo: Rotar cuando los miembros del equipo dejen
Actualizar credenciales guardadas:
# Re-run save command with new credentialsnpx @capgo/cli build credentials save --platform ios --certificate ./new-cert.p12 ...Solución de problemas
Sección titulada “Solución de problemas””No credentials found”
Sección titulada “”No se encontraron credenciales””Si el build dice que no se encontraron credenciales:
-
Verifique si las credenciales están guardadas:
Ventana de terminal npx @capgo/cli build credentials list -
Guardar credenciales si faltan:
Ventana de terminal npx @capgo/cli build credentials save --platform ios ... -
Verificar que existe la carpeta de credenciales:
Ventana de terminal ls -la .capgo-credentials/
“Denegado por permiso” al leer credenciales
Sección titulada ““Denegado por permiso” al leer credenciales”Corregir permisos de archivo:
chmod 700 .capgo-credentialschmod 600 .capgo-credentials/*No se están utilizando las credenciales
Sección titulada “No se están utilizando las credenciales”Verifique que se especifique la plataforma correcta:
# Make sure --platform matches saved credentialsnpx @capgo/cli build com.example.app --platform ios # Uses ios credentialsnpx @capgo/cli build 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 credentialsnpx @capgo/cli build credentials clear
# Save againnpx @capgo/cli 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 -
Decodificar 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 -
Guardar utilizando el CLI
Ventana de terminal npx @capgo/cli 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 tiene credenciales existentes guardadas en el formato antiguo (simple
BUILD_PROVISION_PROFILE_BASE64Ejecuta:Ventana de terminal npx @capgo/cli build credentials migrate --platform iosEsto convierte la legado simple-perfil a un
CAPGO_IOS_PROVISIONING_MAPy elimina losBUILD_PROVISION_PROFILE_BASE64yAPPLE_PROFILE_NAMEllaves. -
Prueba la compilación
Ventana de terminal npx @capgo/cli build 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
Sección titulada “Ubicación del archivo”Las credenciales se almacenan en el .capgo-credentials carpeta:
- macOS/Linux:
.capgo-credentials/(en el directorio raíz de tu proyecto o directorio de inicio) - Windows:
.capgo-credentials\(en el directorio raíz de tu proyecto o directorio de inicio)
La carpeta se crea automáticamente cuando guardas las credenciales por primera vez.
Pasos siguientes
Sección titulada “Pasos siguientes”- Empezar - Crea tu primer build
- Compilaciones de iOS - Configuración de compilación específica de iOS
- Compilaciones de Android - Configuración de compilación específica de Android
- Resolución de problemas - Problemas y soluciones comunes
Necesitas ayuda?
Sección titulada “Necesitas ayuda?”- 📚 Guía de solución de problemas
- 💬 comunidad de Discord
- 📧 Correo electrónico: soporte@capgo.app