Saltare al contenuto

Memoria Personalizzata

Capgo supporta soluzioni di archiviazione personalizzate per i pacchetti del tuo'applicazione, consentendoti di ospitare le tue aggiornamenti sul tuo proprio infrastruttura o sui 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.

Il storage personalizzato in Capgo funziona caricando il tuo bundle in un'ubicazione esterna e fornendo a Capgo l'URL per accedervi. Il Capgo SDK scaricherà poi gli aggiornamenti direttamente dalla tua ubicazione di storage personalizzato al posto della storage cloud di Capgo per impostazione predefinita.

La via più semplice per utilizzare il storage personalizzato è caricare il tuo bundle in qualsiasi URL accessibile pubblicamente e fornire quell'URL a Capgo.

Fermata della console
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip

Questo comando dice a Capgo di fare riferimento al bundle al URL specificato al posto di caricarlo nel cloud storage di Capgo.

Per un storage esterno sicuro, puoi crittografare il tuo bundle e fornire le chiavi di decrittografia:

Fermata della console
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 supporto integrato per Amazon S3 e servizi di archiviazione S3 compatibili. Il CLI può caricare automaticamente il tuo bundle su S3 e configurare Capgo per utilizzare l'URL di S3.

S3 Upload Options

Opzioni di caricamento S3
Finestra del 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 di archiviazione S3 compatibili o endpoint personalizzati:

Finestra del 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
ParametroDescrizioneObbligatorio
--s3-regionRegione AWS per il tuo bucket S3
--s3-apikeyID chiave di accesso S3
--s3-apisecretChiave segreta di accesso S3
--s3-bucket-nameNome del tuo bucket S3
--s3-endpointURL personalizzata del tuo endpoint S3No
--s3-portPorta per endpoint S3No
--no-s3-sslDisabilita SSL per caricamento S3No

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

In primo luogo, crea un file zip del pacchetto dell'applicazione:

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 cifrare il file zip se necessario. Utilizza l' --json opzione per ottenere un output strutturato che include 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 zip (predefinito a webDir da capacitor.config)
--bundleNumero di versione del bundle per denominare il file zip
--nameNome personalizzato per il file zip
--jsonOutput risultati in formato JSON (incluso checksum)
--no-code-checkSaltare la verifica della chiamata a notifyAppReady() e dell'indice del file
--key-v2Usare la crittografia v2
--package-jsonPeriferiche per file package.json per progetti monorepo (separate da virgole)

Per una maggiore sicurezza, crittografate il vostro bundle zip prima di caricarlo:

Fenestra 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"

La CHECKSUM il parametro è richiesto e dovrebbe essere il checksum del vostro file zip. Potete ottenere il checksum dal comando zip (utilizzare --json opzione per output strutturato).

By default, the encrypt command will use your local private signing key. You can specify a custom key using the --key o --key-data o utilizzare una chiave personalizzata utilizzando il

o ivSessionKey The encrypt command will return the

richiesti per l'upload o la decrittazione.

Opzioni del comando di crittografia
Sottosezione intitolata “Opzioni del comando di crittografia”Opzione
zipPathDescrizione
checksumPercorso del file zip da crittografare (obbligatorio)
--keyChecksum del file zip (obbligatorio) - ottienilo dal comando zip (checksum del file zip (obbligatorio) - ottienilo dal comando zip )
--key-dataDati di chiave di firma privata in modo diretto (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 dalla finestra di 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 il tuo 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. Costruisci e zip:

    Fermata di comando
    npm run build
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2
  2. Crittografa il bundle:

    Fermata di comando
    npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM
  3. Carica su S3 con crittografia:

    Fermata di comando
    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 lo storage personalizzato, considera queste pratiche di sicurezza:

  • Assicurati che le URL di storage siano accessibili agli utenti del tuo app ma non siano facilmente scopribili
  • Utilizza URL firmati o autenticazione basata su token quando possibile
  • Implementa i header CORS appropriati per le app basate su web
  • Assicurati di crittografare sempre i pacchetti sensibili utilizzando gli strumenti di crittografia Capgo
  • Memorizza le chiavi di crittografia in modo sicuro e rotale regolarmente
  • Utilizza HTTPS per tutte le URL dei pacchetti (richiesto per le app mobili e Electron)
  • Monitorare i log di accesso per rilevare modelli di download anomali
  • Configura gli avvisi per i download di bundle falliti
  • Verifica regolarmente le autorizzazioni di archiviazione

Il bundle non si sta scaricando:

  • 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 il ivSessionKey corrisponde al bundle crittografato
  • Verifica che il bundle sia stato crittografato con la chiave corretta
  • Assicurati di utilizzare la crittografia v2 per i nuovi bundle

Fallimenti di caricamento su S3:

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

Controlla lo stato del pacchetto:

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

Verifica l'integrità del pacchetto:

Finestra del terminale
npx @capgo/cli@latest bundle list

Eseguisci i passaggi successivi

Eseguisci i passaggi successivi
  • Scopri Canali per gestire diversi ambienti di distribuzione
  • Esplora Comportamento dell'aggiornamento per personalizzare come vengono applicate le aggiornamenti
  • Configura Integrazione CI/CD context: Pagina/Area: Capgo Builder / prodotto di costruzione nativa pagina cloud. Ruolo: Etichetta di navigazione breve o elemento UI. Messaggio chiave `native_build_feature_ci_cd` (Native Build Feature Ci Cd).

per automatizzare il tuo workflow di archiviazione personalizzata

Continua da Archiviazione Personalizzata

Sottosezione intitolata “Continua da Archiviazione Personalizzata” Se stai utilizzando Archiviazione Personalizzata per pianificare la sicurezza e la conformità, connettilo con Crittografia Conformità per il dettaglio 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