Saltare al contenuto

Archiviazione personalizzata

Capgo supporta soluzioni di archiviazione personalizzate per i pacchetti del tuo'applicazione, consentendoti di ospitare le tue aggiornamenti sul tuo proprio infrastruttura o servizi di archiviazione di terze parti. Questo è particolarmente utile per le organizzazioni con specifiche esigenze di sicurezza, necessità di conformità o infrastruttura di archiviazione esistente.

L'archiviazione personalizzata in Capgo funziona caricando il tuo pacchetto in un luogo esterno e fornendo a Capgo l'URL per accedervi. Il Capgo SDK scaricherà poi gli aggiornamenti direttamente dalla tua posizione di archiviazione personalizzata anziché da Capgo’s archiviazione cloud di default.

Il modo più semplice per utilizzare il storage personalizzato è caricare il tuo pacchetto su qualsiasi URL accessibile pubblicamente e fornire quel URL a Capgo.

Finestra del terminale
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip

Questo comando dice a Capgo di riferirsi al pacchetto al URL specificato invece di caricarlo nel cloud storage di Capgo.

Per un archiviazione esterna sicura, puoi crittografare il tuo pacchetto e fornire le chiavi di decrittazione:

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

Capgo fornisce un supporto integrato per Amazon S3 e servizi di archiviazione S3 compatibili. CLI può caricare automaticamente il tuo pacchetto su S3 e configurare Capgo per utilizzare l'URL S3.

Fermata di terminale
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

Per servizi S3 compatibili o endpoint personalizzati:

Fermata di terminale
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
ParametroDescrizioneRichiesto
--s3-regionRegione AWS per il tuo bucket S3
--s3-apikeyID chiave di accesso S3
--s3-apisecretChiave segreta S3
--s3-bucket-nameNome del tuo bucket S3
--s3-endpointURL personalizzato del endpoint S3No
--s3-portPorta per l'endpoint S3No
--no-s3-sslDisabilita SSL per l'upload di S3No

Quando si utilizza un storage personalizzato, soprattutto con la crittografia, è necessario preparare correttamente i propri pacchetti. Ciò comporta la creazione di un file zip e la crittografia facoltativa.

Innanzitutto, crea un file zip del tuo pacchetto di app:

Finestra del terminale
npx @capgo/cli@latest bundle zip com.example.app --path ./dist

Il comando zip restituirà il checksum del file zip. Puoi utilizzare questo checksum per crittografare il file zip se necessario. Utilizza il --json opzione per ottenere un output strutturato incluso il checksum.

Finestra del terminale
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
OpzioneDescrizione
--pathPercorso del folder da archiviare (predefinito a webDir da capacitor.config)
--bundleNumero di versione del bundle per denominare il file zip
--nameNome personalizzato per il file zip
--jsonRisultati di output in formato JSON (incluso il checksum)
--no-code-checkSaltare la verifica della chiamata a notifyAppReady() e del file index
--key-v2Usa l'encryption v2
--package-jsonPercorso dei file package.json per i monorepos (separati da virgola)

Per una maggiore sicurezza, criptare il tuo bundle zip prima di caricarlo:

Finestra del terminale
# 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"

Il CHECKSUM Il parametro è richiesto e dovrebbe essere il checksum del tuo file zip. Puoi ottenere il checksum dalla output del comando zip (utilizza --json Di default, il comando di crittografia utilizzerà la tua chiave di firma privata locale. Puoi specificare una chiave personalizzata utilizzando il

o --key __CAPGO_KEEP_0__ --key-data opzioni.

Il comando di crittografia restituirà il ivSessionKey necessario per l'upload o la decrittografia.

OpzioneDescrizione
zipPathPercorso del file zip da crittografare (obbligatorio)
checksumChecksum del file zip (obbligatorio) - ottienilo dal comando zip
--keyPercorso personalizzato per la chiave di firma privata (facoltativo, utilizza la chiave locale per impostazione predefinita)
--key-dataDati della chiave di firma privata direttamente (facoltativo)
--jsonRisultati di output in formato JSON
  1. Costruisci il tuo app:

    Finestra del terminale
    npm run build
  2. Crea un bundle zip:

    Finestra del terminale
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3

    Nota il checksum restituito da questo comando.

  3. Cifra il bundle:

    Finestra del terminale
    npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2

    Nota il ivSessionKey dallo output.

  4. Carica sul tuo storage: Carica il file zip cifrato sul tuo servizio di hosting.

  5. Registra con Capgo:

    Finestra del terminale
    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. Costruisci l'app:

    Finestra del terminale
    npm run build
  2. Carica direttamente su S3:

    Finestra del terminale
    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. Compila e zip: __CAPGO_KEEP_0__

    Finestra del terminale
    npm run build
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2
  2. Crittografa il bundle: __CAPGO_KEEP_0__

    Finestra del terminale
    npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM
  3. Carica su S3 con crittografia: __CAPGO_KEEP_0__

    Finestra del terminale
    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

Quando si utilizza un archivio di storage personalizzato, considera queste pratiche di sicurezza consigliate:

  • Assicurati che le URL dei tuoi archivi siano accessibili agli utenti del tuo'applicazione, ma non siano scopribili pubblicamente
  • Utilizza URL firmati o autenticazione basata su token quando possibile
  • Implementa i header CORS appropriati per le app basate su web
  • Utilizza sempre le Capgo strumenti di criptazione per i pacchetti sensibili
  • Memorizza le chiavi di criptazione in modo sicuro e rotalele regolarmente
  • Utilizza HTTPS per tutte le URL dei pacchetti (richiesto per le app mobili e Electron)
  • Monitorare i log degli accessi per rilevare modelli di download insoliti
  • Configura gli avvisi per i download di bundle falliti
  • Auditare regolarmente le autorizzazioni di archiviazione

Download del bundle non riuscito:

  • Verifica che l'URL sia accessibile pubblicamente e utilizza HTTPS (richiesto per le app mobili e Electron)
  • Controlla i header CORS per le app web
  • Assicurati che il formato del bundle sia corretto

Errori di crittografia:

  • Verifica che il ivSessionKey corrisponde al bundle crittografato
  • Controlla che il bundle sia stato crittografato con la chiave corretta
  • Assicurati che venga utilizzata la crittografia v2 per i nuovi bundle

Fallimenti nell'upload su S3:

  • Verifica le tue credenziali e le autorizzazioni S3
  • Controlla le politiche del bucket e la configurazione CORS
  • Assicurati che la regione specificata sia corretta

Verifica lo stato del bundle:

Finestra del terminale
npx @capgo/cli@latest app debug

Verifica l'integrità del pacchetto:

Finestra del terminale
npx @capgo/cli@latest bundle list
  • Scopri Canali per gestire diversi ambienti di distribuzione
  • Esplora Aggiorna il comportamento per personalizzare come vengono applicate le aggiornamenti
  • Configura Integrazione CI/CD per automatizzare il tuo workflow di archiviazione personalizzato

Se stai utilizzando Archiviazione personalizzata per pianificare la sicurezza e la conformità, connettilo con Crittografia per i dettagli di implementazione in Crittografia, Conformità per i dettagli di implementazione in Conformità Capgo Scansionatore di Sicurezza per il flusso di lavoro del prodotto in Capgo Scansionatore di Sicurezza, Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza, e Capgo Centro di Trust per il flusso di lavoro del prodotto in Capgo Centro di Trust.