Saltar al contenido

Almacenamiento Personalizado

Capgo admite soluciones de almacenamiento personalizadas para sus paquetes de la aplicación, lo que le permite alojar sus actualizaciones en su 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.

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 de la almacenamiento en la nube predeterminada de Capgo.

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.

Ventana de terminal
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip

Esta 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.

Para almacenamiento externo seguro, puede cifrar su paquete y proporcionar las claves de descifrado:

Ventana de terminal
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEY

Capgo ofrece soporte integrado para Amazon S3 y servicios de almacenamiento S3 compatibles. El CLI puede subir automáticamente su paquete a S3 y configurar Capgo para utilizar la URL de S3.

S3 Upload Options

Opciones de carga de S3
Pestaña 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-name

Copiar a portapapeles

Configuración de S3 completa

Pestaña 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 SSL
ParámetroDescripciónRequerido
--s3-regionRegión de AWS para tu contenedor S3
--s3-apikeyID de clave de acceso de S3
--s3-apisecretClave secreta de acceso de S3
--s3-bucket-nameNombre de tu contenedor S3
--s3-endpointURL personalizada de tu contenedor S3No
--s3-portPuerto para el punto final de S3No
--no-s3-sslDeshabilitar SSL para la carga de S3No

Al utilizar almacenamiento personalizado, especialmente con cifrado, es necesario preparar adecuadamente sus paquetes. Esto implica crear un archivo zip y cifrarlo opcionalmente.

Primero, cree un archivo zip de su paquete de la aplicación:

Ventana de terminal
npx @capgo/cli@latest bundle zip com.example.app --path ./dist

El comando zip devolverá el checksum del archivo zip. Puede utilizar este checksum para cifrar el archivo zip si es necesario. Utilice la --json opción para obtener un resultado estructurado que incluya el checksum.

Ventana de terminal
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ónDescripción
--pathRuta al folder para zip (por defecto webDir de capacitor.config)
--bundleNúmero de versión del paquete para nombrar el archivo zip
--nameNombre personalizado para el archivo zip
--jsonLos resultados se muestran en formato JSON (incluye checksum)
--no-code-checkSaltar la comprobación de la llamada a notifyAppReady() y el archivo de índice
--key-v2Usar cifrado v2
--package-jsonRutas a archivos package.json para repositorios monolíticos (separadas por comas)

Para una mayor seguridad, cifre su archivo zip antes de subirlo:

Ventana de terminal
# Using default local key
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
# Using custom key file
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key ./path/to/.capgo_key_v2
# Using key data directly
npx @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 opción para salida estructurada).

Por defecto, el comando de cifrado utilizará su clave de firma privada local. Puede especificar una clave personalizada utilizando el --key o --key-data El comando de cifrado devolverá los

necesarios para la subida o la desifrado. ivSessionKey Opciones del Comando de Cifrado

Título de la sección ‘Opciones del Comando de Cifrado’

Opción
DescripciónRuta del archivo zip a cifrar (obligatorio)
zipPathChecksum del archivo zip (obligatorio) - obténlo del comando zip
checksumRuta personalizada para la clave de firma privada (opcional, utiliza la clave local por defecto)
--keyo
--key-dataDatos de clave de firma privada directamente (opcional)
--jsonLos resultados se muestran en formato JSON

Sección titulada “Ejemplos de flujo de trabajo completos”

Ejemplo 1: URL externa con cifrado

Sección titulada “Ejemplo 1: URL externa con cifrado”

Construye tu aplicación:
  1. Sección titulada “Ejemplo 1: URL externa con cifrado”

    Ventana de terminal
    npm run build
  2. Crear un paquete zip:

    Ventana de terminal
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3

    Nota el checksum devuelto por este comando.

  3. Cifrar el paquete:

    Ventana de terminal
    npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2

    Nota el ivSessionKey desde la salida.

  4. Subir a tu almacenamiento: Subir el archivo zip cifrado a su servicio de alojamiento.

  5. Registre 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
  1. Construya su aplicación:

    Ventana de terminal
    npm run build
  2. Cargar directamente 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
  1. Construye y comprime:

    Pantalla de terminal
    npm run build
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2
  2. Cifra el paquete:

    Pantalla de terminal
    npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM
  3. Subir a S3 con cifrado:

    Pantalla 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

Al utilizar almacenamiento personalizado, considere estas mejores prácticas de seguridad:

  • Asegúrese de que las URL de almacenamiento sean accesibles a los usuarios de su aplicación, pero no descubribles públicamente
  • Use URLs firmadas o autenticación basada en tokens cuando sea posible
  • Implemente encabezados de CORS adecuados para aplicaciones basadas en web
  • 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)
  • Monitoree los registros de acceso para detectar patrones de descarga inusuales
  • Configura alertas para descargas de paquetes fallidas
  • Realiza auditorías periódicas de permisos de almacenamiento

No se está descargando el paquete:

  • Verifica que la URL esté accesible públicamente y utilice HTTPS (requerido para aplicaciones móviles y Electron)
  • Revisa los encabezados CORS para aplicaciones web
  • Asegúrese de que el formato del paquete sea correcto

Errores de cifrado:

  • Verifique el ivSessionKey coincide con el paquete cifrado
  • Verifique que el paquete se cifró con la clave correcta
  • Asegúrese de que se utilice cifrado v2 para nuevos paquetes

Fallas en la subida a S3:

  • Verifique sus credenciales y permisos de S3
  • Verifique las políticas de contenedor y la configuración de CORS
  • Asegúrese de que la región especificada sea correcta

Ver el estado del paquete:

Ventana de terminal
npx @capgo/cli@latest app debug

Verificar la integridad del paquete:

Ventana de terminal
npx @capgo/cli@latest bundle list
  • Aprende sobre Canales para gestionar diferentes entornos de despliegue
  • Explora Comportamiento de Actualización para personalizar cómo se aplican las actualizaciones
  • Configura Integración CI/CD contexto: Página/área: Capgo Builder / página de producto de construcción nativa en la nube. Rol: Etiqueta de IU corta o elemento de navegación. Clave de mensaje `native_build_feature_ci_cd` (Native Build Feature Ci Cd).

para automatizar tu flujo de trabajo de almacenamiento personalizado

Sigue adelante desde Almacenamiento Personalizado

Título de sección “Sigue adelante desde Almacenamiento Personalizado” Si estás utilizando Almacenamiento Personalizado para planificar la seguridad y la conformidad, conecta con Encriptación Compliance 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.