Almacenamiento personalizado
Copia un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Capgo admite soluciones de almacenamiento personalizadas para los paquetes de tu aplicación, lo que te permite alojar tus actualizaciones en tu propia infraestructura o servicios de almacenamiento de terceros. Esto es particularmente útil para organizaciones con requisitos de seguridad específicos, necesidades de cumplimiento o infraestructura de almacenamiento existente.
Resumen
Sección titulada “Resumen”El almacenamiento personalizado en Capgo funciona subiendo tu paquete a una ubicación externa y proporcionando a Capgo la URL para acceder a él. El Capgo SDK descargará actualizaciones directamente desde tu ubicación de almacenamiento personalizado en lugar del almacenamiento en la nube predeterminado de Capgo.
Subir URL externa
Sección titulada “Subir URL externa”La forma más sencilla de utilizar almacenamiento personalizado es subiendo tu paquete a cualquier URL accesible públicamente y proporcionando esa URL a Capgo.
Subida básica de URL externa
Sección titulada “Carga de URL externa básica”npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipEsta orden le dice a Capgo que refiera el paquete en la URL especificada en lugar de subirlo a la almacenamiento en la nube de Capgo.
Con cifrado
Sección titulada “Con cifrado”Para almacenamiento externo seguro, puede cifrar su paquete y proporcionar las claves de descifrado:
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEYIntegración de S3
Sección titulada “Integración de S3”Capgo provides built-in support for Amazon S3 and S3-compatible storage services. The CLI can automatically upload your bundle to S3 and configure Capgo to use the S3 URL.
Opciones de carga de S3
Sección titulada “Opciones de carga de S3”npx @capgo/cli@latest bundle upload \ --s3-region us-east-1 \ --s3-apikey YOUR_ACCESS_KEY \ --s3-apisecret YOUR_SECRET_KEY \ --s3-bucket-name your-bucket-nameConfiguración de S3 completa
Sección titulada “Configuración de S3 completa”Para servicios compatibles con S3 o puntos finales personalizados:
npx @capgo/cli@latest bundle upload \ --s3-region us-east-1 \ --s3-apikey YOUR_ACCESS_KEY \ --s3-apisecret YOUR_SECRET_KEY \ --s3-endpoint https://s3.your-provider.com \ --s3-bucket-name your-bucket-name \ --s3-port 443 \ --no-s3-ssl # Only if your endpoint doesn't support SSLParámetros de configuración de S3
Sección titulada “Parámetros de configuración de S3”| Parámetro | Descripción | Requerido |
|---|---|---|
--s3-region | Región de AWS para tu contenedor S3 | Sí |
--s3-apikey | ID de clave de acceso de S3 | Sí |
--s3-apisecret | Clave secreta de acceso de S3 | Sí |
--s3-bucket-name | Nombre de tu contenedor S3 | Sí |
--s3-endpoint | URL personalizada de tu contenedor S3 | No |
--s3-port | Puerto para el punto final de S3 | No |
--no-s3-ssl | No habilitar SSL para la carga de S3 | No |
Preparación y cifrado del paquete
Sección titulada “Preparación y cifrado del paquete”Al utilizar almacenamiento personalizado, especialmente con cifrado, es necesario preparar los paquetes correctamente. Esto implica crear un archivo zip y cifrarlo opcionalmente.
Paso 1: Crear un paquete Zip
Sección titulada “Paso 1: Crear un paquete Zip”Primero, cree un archivo zip de su paquete de la aplicación:
npx @capgo/cli@latest bundle zip com.example.app --path ./distThe comando zip devolverá el checksum del archivo zip. Puede utilizar este checksum para cifrar el archivo zip si es necesario. Use el --json opción para obtener un resultado estructurado que incluya el checksum.
Opciones del comando Zip
Sección titulada “Opciones del comando Zip”npx @capgo/cli@latest bundle zip [appId] \ --path ./dist \ --bundle 1.2.3 \ --name myapp-v1.2.3 \ --json \ --no-code-check \ --key-v2 \ --package-json ../../package.json,./package.json| Opción | Descripción |
|---|---|
--path | Ruta al folder para zip (por defecto webDir de capacitor.config) |
--bundle | Versión del paquete para nombrar el archivo zip |
--name | Nombre personalizado para el archivo zip |
--json | Resultados de salida en formato JSON (incluye checksum) |
--no-code-check | Saltar la comprobación de la llamada a notifyAppReady() y el archivo de índice |
--key-v2 | Usar cifrado v2 |
--package-json | Rutas a los archivos package.json para repositorios monolíticos (separados por comas) |
Paso 2: Cifrar el Paquete (Opcional)
Paso 2: Cifrar el Paquete (Opcional)Para una mayor seguridad, cifre su paquete zip antes de subirlo:
# Using default local keynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
# Using custom key filenpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key ./path/to/.capgo_key_v2
# Using key data directlynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key-data "PRIVATE_KEY_CONTENT"El CHECKSUM El parámetro es obligatorio y debe ser el checksum de su archivo zip. Puede obtener el checksum del comando zip (utilice --json Por defecto, el comando cifrar utilizará su clave de firma privada local. Puede especificar una clave personalizada utilizando el
protectedTokens --key o --key-data opciones.
El comando de cifrado devolverá el ivSessionKey necesario para la subida o descifrado.
Opciones del comando de cifrado
Título de la sección “Opciones del comando de cifrado”| Opción | Descripción |
|---|---|
zipPath | Ruta del archivo zip a cifrar (obligatorio) |
checksum | Checksum del archivo zip (obligatorio) - obténlo del comando zip |
--key | Ruta personalizada para la clave de firma privada (opcional, utiliza la clave local por defecto) |
--key-data | Datos de la clave de firma privada directamente (opcional) |
--json | Formato de resultados en JSON |
Ejemplos de flujo de trabajo completo
Sección titulada “Ejemplos de flujo de trabajo completo”Ejemplo 1: URL externa con cifrado
Sección titulada “Ejemplo 1: URL externa con cifrado”-
Construye tu aplicación:
ventana de terminal npm run build -
Crear un paquete zip:
Ventana de terminal npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3Nota el checksum devuelto por este comando.
-
Cifrar el paquete:
Ventana de terminal npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2Nota el
ivSessionKeydesde la salida. -
Subir a tu almacenamiento: Sube el archivo zip cifrado a tu servicio de alojamiento.
-
Regístrate con Capgo:
Ventana de terminal npx @capgo/cli@latest bundle upload \--external https://your-cdn.com/bundles/com.example.app-1.2.3.zip \--iv-session-key IV_SESSION_KEY_FROM_STEP_3
Ejemplo 2: Carga directa a S3
Sección titulada “Ejemplo 2: Carga directa a S3”-
Construye tu aplicación:
Ventana de terminal npm run build -
Carga directa a S3:
Ventana de terminal npx @capgo/cli@latest bundle upload \--s3-region us-west-2 \--s3-apikey YOUR_ACCESS_KEY \--s3-apisecret YOUR_SECRET_KEY \--s3-bucket-name your-app-bundles \--channel Production
Ejemplo 3: S3 con cifrado
Ejemplo 3: S3 con cifrado-
Compilar y comprimir:
Ventana de terminal npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Cifrar el paquete:
Ventana de terminal npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
Subir a S3 con cifrado:
Ventana de terminal npx @capgo/cli@latest bundle upload \--s3-region us-west-2 \--s3-apikey YOUR_ACCESS_KEY \--s3-apisecret YOUR_SECRET_KEY \--s3-bucket-name your-app-bundles \--iv-session-key IV_SESSION_KEY_FROM_STEP_2 \--channel Production
Consideraciones de seguridad
Ejemplo 3: Consideraciones de seguridadCuando utilice almacenamiento personalizado, considere estas mejores prácticas de seguridad:
Control de Acceso
Sección titulada “Control de Acceso”- Asegúrese de que las URL de almacenamiento sean accesibles a los usuarios de su aplicación, pero no sean descubribles públicamente
- Use URLs firmadas o autenticación basada en tokens cuando sea posible
- Implemente encabezados CORS adecuados para aplicaciones web
Cifrado
Sección titulada “Cifrado”- Cifre siempre los paquetes sensibles utilizando las herramientas de cifrado Capgo
- Almacene las claves de cifrado de manera segura y las rotule con regularidad
- Use HTTPS para todas las URL de paquetes (requerido para aplicaciones móviles y Electron)
Monitoreo
Sección titulada “Monitoreo”- Monitorear los registros de acceso para detectar patrones de descarga inusuales
- Configurar alertas para descargas de paquetes fallidas
- Realizar auditorías periódicas de permisos de almacenamiento
Solución de problemas
Sección titulada “Solución de problemas”Problemas comunes
Sección titulada “Problemas comunes”No se está descargando el paquete:
- Verificar que la URL sea accesible públicamente y utilice HTTPS (requerido para aplicaciones móviles y Electron)
- Comprobar los encabezados CORS para aplicaciones web
- Asegurarse de que el formato del paquete sea correcto
Errores de cifrado:
- Verifique que
ivSessionKeycoincide con el paquete cifrado - Compruebe que el paquete se cifró con la clave correcta
- Asegúrese de que se utilice cifrado v2 para nuevos paquetes
Fallos de carga en S3:
- Verifique sus credenciales y permisos de S3
- Compruebe las políticas de contenedor y la configuración CORS
- Asegúrese de que la región especificada es correcta
Comandos de depuración
Compruebe el estado del paquete:Compruebe el estado del paquete:
npx @capgo/cli@latest app debugVerificar integridad de paquete:
npx @capgo/cli@latest bundle listPasos siguientes
Sección titulada “Pasos siguientes”- Aprender sobre Canales para gestionar diferentes entornos de despliegue
- Explorar Actualizar comportamiento para personalizar cómo se aplican las actualizaciones
- Configuración Integración CI/CD para automatizar su flujo de trabajo de almacenamiento personalizado
Continuar desde Almacenamiento Personalizado
Sección titulada “Continuar desde Almacenamiento Personalizado”Si está utilizando Almacenamiento Personalizado para planificar la seguridad y la conformidad, conecte con Cifrado para el detalle de implementación en Cifrado, Conformidad para los detalles de implementación en Compliance, Capgo Escáner de Seguridad para el flujo de trabajo del producto en Capgo Escáner de Seguridad, Capgo Seguridad para el flujo de trabajo del producto en Capgo Seguridad, y Capgo Centro de Confianza para el flujo de trabajo del producto en Capgo Centro de Confianza.