Archiviazione personalizzata
Copia una richiesta di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
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 infrastrutture di archiviazione esistenti.
Panoramica
Sezione intitolata “Panoramica”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à quindi gli aggiornamenti direttamente dalla tua posizione di archiviazione personalizzata anziché da Capgo’s archiviazione cloud di default.
Carica URL esterno
Sezione intitolata “Carica URL esterno”Il modo più semplice per utilizzare il storage personalizzato è caricare il tuo pacchetto su qualsiasi URL accessibile al pubblico e fornire quella URL a Capgo.
Carica URL esterno base
Sezione intitolata “Carica URL esterno base”npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipQuesto comando dice a Capgo di riferirsi al pacchetto al URL specificato invece di caricarlo nel cloud storage di Capgo.
Con crittografia
Sezione intitolata “Con crittografia”Per un archiviazione esterna sicura, puoi crittografare il tuo pacchetto e fornire le chiavi di decrittazione:
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEYIntegrazione S3
Sezione intitolata “Integrazione S3”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.
Opzioni di caricamento S3
Sezione intitolata “Opzioni di caricamento 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-nameConfigurazione S3 completa
Sezione intitolata “Configurazione S3 completa”Per i servizi S3 compatibili o endpoint personalizzati:
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 SSLParametri di configurazione S3
Sezione intitolata “Parametri di configurazione S3”| Parametro | Descrizione | Required |
|---|---|---|
--s3-region | Regione AWS per il tuo bucket S3 | Yes |
--s3-apikey | ID chiave di accesso S3 | Yes |
--s3-apisecret | Chiave segreta S3 | Yes |
--s3-bucket-name | Nome del tuo bucket S3 | Yes |
--s3-endpoint | URL del endpoint S3 personalizzato | No |
--s3-port | Porta per l'endpoint S3 | No |
--no-s3-ssl | Disabilita SSL per l'upload di S3 | No |
Preparazione e crittografia del pacchetto
Sezione intitolata “Preparazione e crittografia del pacchetto”Quando si utilizza un storage personalizzato, soprattutto con crittografia, è necessario preparare correttamente i propri pacchetti. Ciò comporta la creazione di un file zip e, facoltativamente, la crittografia.
Passo 1: Creazione di un pacchetto Zip
Sezione intitolata “Passo 1: Creazione di un pacchetto Zip”Innanzitutto, crea un file zip del tuo bundle di app:
npx @capgo/cli@latest bundle zip com.example.app --path ./distIl 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 comprensivo del checksum.
Opzioni del comando Zip
Sottosezione intitolata “Opzioni 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| Opzione | Descrizione |
|---|---|
--path | Percorso del folder da archiviare (predefinito a webDir da capacitor.config) |
--bundle | Numero di versione del bundle per denominare il file zip |
--name | Nome personalizzato per il file zip |
--json | I risultati vengono visualizzati in formato JSON (comprensivo del checksum) |
--no-code-check | Saltare la verifica della chiamata a notifyAppReady() e del file index |
--key-v2 | Usa l'encryption v2 |
--package-json | Percorso dei file package.json per i monorepos (separati da virgola) |
Passo 2: Criptare il Bundle (Facoltativo)
Sezione intitolata “Passo 2: Criptare il Bundle (Facoltativo)”Per una maggiore sicurezza, criptare il tuo bundle zip prima di caricarlo:
# 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"Il CHECKSUM Il parametro è richiesto e dovrebbe essere il checksum del tuo file zip. Puoi ottenere il checksum dal comando zip (usa --json Di default, il comando di crittografia utilizzerà la tua chiave privata di firma locale. Puoi specificare una chiave personalizzata utilizzando il
o --key __CAPGO_KEEP_0__ --key-data opzioni.
Il comando di cifratura restituirà il ivSessionKey necessario per l'upload o la decifrazione.
Opzioni del comando di cifratura
Sezione intitolata “Opzioni del comando di cifratura”| Opzione | Descrizione |
|---|---|
zipPath | Percorso del file zip da cifrare (obbligatorio) |
checksum | Checksum del file zip (obbligatorio) - ottienilo dal comando zip |
--key | Percorso personalizzato per la chiave di firma privata (facoltativo, utilizza la chiave locale per impostazione predefinita) |
--key-data | Dati della chiave di firma privata direttamente (facoltativo) |
--json | Risultati di output in formato JSON |
Esempi di Flussi di Lavoro Completi
Sottosezione intitolata “Esempi di Flussi di Lavoro Completi”Esempio 1: URL Esterno con Crittografia
Sottosezione intitolata “Esempio 1: URL Esterno con Crittografia”-
Costruisci il tuo app:
Fenestra del terminale npm run build -
Crea un file zip compresso:
Finestra del terminale npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3Nota il checksum restituito da questo comando.
-
Crittografa il file:
Finestra del terminale npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2Nota il
ivSessionKeydalla finestra di output. -
Carica sul tuo storage: Carica il file zip crittografato sul tuo servizio di hosting.
-
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
Esempio 2: Caricamento diretto S3
Sezione intitolata “Esempio 2: Caricamento diretto S3”-
Costruisci l'app:
Finestra del terminale npm run build -
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
Esempio 3: S3 con crittografia
Sezione intitolata “Esempio 3: S3 con crittografia”-
Costruisci e zip:
Finestra del terminale npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Crittografa il bundle:
Finestra del terminale npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
Carica su S3 con crittografia:
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
Considerazioni di sicurezza
Sezione intitolata “Considerazioni di sicurezza”Quando si utilizza un archivio di storage personalizzato, considera queste pratiche di sicurezza:
Controllo degli accessi
Sezione intitolata “Controllo degli accessi”- Assicurati che le URL di archiviazione siano accessibili agli utenti del tuo'applicazione, ma non siano scoperte pubblicamente
- Utilizza URL firmati o autenticazione basata su token quando possibile
- Implementa i header CORS appropriati per le app basate su web
Criptazione
Sezione intitolata “Criptazione”- Utilizza sempre le Capgo strumenti di criptazione per i pacchetti sensibili
- Memorizza le chiavi di criptazione in modo sicuro e rotale regolarmente
- Utilizza HTTPS per tutte le URL dei pacchetti (richiesto per le app mobili e Electron)
Monitoraggio
Sezione intitolata “Monitoraggio”- 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
Risolvere i problemi
Sezione intitolata “Risolvere i problemi”Problemi comuni
Sezione intitolata “Problemi comuni”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 che
ivSessionKeycorrisponde 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 di upload 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
Comandi di debug
Sottosezione intitolata “Comandi di debug”Verifica lo stato del bundle:
npx @capgo/cli@latest app debugVerifica l'integrità del pacchetto:
npx @capgo/cli@latest bundle listPassaggi successivi
Sezione intitolata “Passaggi successivi”- Scopri di più Canali per gestire ambienti di distribuzione diversi
- Esplora Comportamento di aggiornamento per personalizzare come vengono applicate le aggiornamenti
- Imposta Integrazione CI/CD per automatizzare il tuo flusso di lavoro di archiviazione personalizzato
Continua da Archiviazione personalizzato
Sezione intitolata “Continua da Archiviazione personalizzato”Se stai utilizzando Archiviazione personalizzato 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.