Archiviazione Personalizzata
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Capgo supporta soluzioni di archiviazione personalizzate per i pacchetti dell'applicazione, consentendo di ospitare gli aggiornamenti sul proprio infrastruttura o sui servizi di archiviazione di terze parti. Ciò è particolarmente utile per le organizzazioni con specifiche esigenze di sicurezza, necessità di conformità o infrastruttura di archiviazione esistente.
Panoramica
Sezione intitolata “Panoramica”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à quindi le aggiornamenti direttamente dalla tua ubicazione di storage personalizzato al posto della storage cloud di Capgo per impostazione predefinita.
Caricamento di URL esterno
Sezione intitolata “Caricamento di URL esterno”Il modo più semplice per utilizzare il storage personalizzato è caricando il tuo bundle in qualsiasi URL accessibile pubblicamente e fornendo quell'URL a Capgo.
Carica URL esterna di base
Sezione intitolata “Carica URL esterna di 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’s.
Con crittografia
Sezione intitolata “Con crittografia”Per un storage esterno sicuro, puoi crittografare il tuo pacchetto e fornire le chiavi di decrittografia:
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEYIntegrazione con S3
Sezione intitolata “Integrazione con 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.
Le __CAPGO_KEEP_1__ possono caricare automaticamente il bundle su S3 e configurare __CAPGO_KEEP_2__ per utilizzare l'URL di S3.
Opzioni di caricamento S3npx @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-nameCopia negli appunti
Configurazione S3 completaSezione intitolata “Configurazione S3 completa”
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 SSLCopia negli appunti
Parametri di configurazione S3| Parametro | Descrizione | Obbligatorio |
|---|---|---|
--s3-region | Regione AWS per il tuo bucket S3 | Sì |
--s3-apikey | ID chiave di accesso S3 | Sì |
--s3-apisecret | Chiave segreta S3 | Sì |
--s3-bucket-name | Nome del tuo bucket S3 | Sì |
--s3-endpoint | URL personalizzato del endpoint S3 | No |
--s3-port | Porta per endpoint S3 | No |
--no-s3-ssl | Disabilita SSL per l'upload S3 | No |
Preparazione e crittografia del pacchetto
Sezione intitolata “Preparazione e crittografia del pacchetto”Quando si utilizza un storage personalizzato, soprattutto con la crittografia, è necessario preparare correttamente i pacchetti. Ciò comporta la creazione di un file zip e l'eventuale crittografia.
Passo 1: Crea un pacchetto zip
Sezione intitolata “Passo 1: Crea un pacchetto zip”In primo luogo, crea un file zip del pacchetto dell'applicazione:
npx @capgo/cli@latest bundle zip com.example.app --path ./distIl comando zip restituirà il checksum del file zip. Puoi utilizzare questo checksum per cifrare il file zip se necessario. Utilizza l'"opzione" per ottenere un output strutturato incluso il checksum. --json Opzioni del comando Zip
Sezione intitolata “Opzioni del comando Zip”
Finestra del terminalenpx @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| Descrizione | Percorso del folder da zip (predefinito a webDir da __CAPGO_KEEP_0__.config) |
|---|---|
--path | Path to the folder to zip (defaults to webDir from capacitor.config) |
--bundle | Nome personalizzato per il file zip |
--name | Copia negli appunti |
--json | I risultati vengono restituiti in formato JSON (incluso checksum) |
--no-code-check | Saltare la verifica della chiamata a notifyAppReady() e dell'indice del file |
--key-v2 | Usare l'encryption v2 |
--package-json | Percorso dei file package.json per i monorepos (separati da virgole) |
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 (utilizza --json l'opzione per l'output strutturato)
Di default, il comando di cifratura utilizzerà la tua chiave di firma privata locale. Puoi specificare una chiave personalizzata utilizzando il --key o --key-data le opzioni.
Il comando di cifratura restituirà i ivSessionKey necessari per l'upload o la decifrazione.
Opzioni del comando di cifratura
Sottosezione intitolata “Opzioni del comando di cifratura”| Nome | 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 di default) |
--key-data | Dati della chiave di firma privata vengono inviati direttamente (facoltativo) |
--json | I risultati vengono visualizzati in formato JSON |
Esempi di Flussi di Lavoro Completi
Sezione intitolata “Esempi di Flussi di Lavoro Completi”Esempio 1: URL Esterno con Crittografia
Sezione intitolata “Esempio 1: URL Esterno con Crittografia”-
Costruisci il tuo app:
Finestra del terminale npm run build -
Crea un bundle zip:
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 bundle:
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: Carica diretto su S3
Sezione intitolata “Esempio 2: Carica diretto su S3”-
Costruisci il tuo 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
Sottosezione intitolata “Esempio 3: S3 con crittografia”-
Costruisci e zip:
Fermata del terminal npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Crittografa il bundle:
Fermata del terminal npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
Carica su S3 con crittografia:
Fermata del 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
Considerazioni sulla sicurezza
Sezione intitolata “Considerazioni di sicurezza”Quando si utilizza un archiviazione personalizzata, considera queste pratiche di sicurezza migliori:
Controllo degli accessi
Sezione intitolata “Controllo degli accessi”- Assicurati che le URL delle tue archiviazioni 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
Crittografia
Sezione intitolata “Crittografia”- 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)
Monitoraggio
Sezione intitolata “Monitoraggio”- Monitorare i log di accesso per rilevare modelli di download anomali
- Configura gli avvisi per i download di bundle falliti
- Auditare regolarmente le autorizzazioni di archiviazione
Risoluzione dei problemi
Sezione intitolata “Risoluzione dei problemi”Problemi comuni
Sezione intitolata “Problemi comuni”Download del bundle non avviene:
- 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
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 nell'upload su S3:
- Verifica le tue credenziali e autorizzazioni S3
- Controlla le politiche del bucket e la configurazione CORS
- Assicurati che la regione specificata sia corretta
Comandi di debug
Sezione intitolata “Comandi di debug”Verifica lo stato del pacchetto:
npx @capgo/cli@latest app debugVerifica l'integrità del pacchetto:
npx @capgo/cli@latest bundle listPassaggi successivi
Sezione intitolata “Passaggi successivi”- Scopri Canali per gestire diversi ambienti di distribuzione
- Esplora Aggiorna il comportamento per personalizzare come vengono applicate le aggiornamenti
- Imposta Integrazione CI/CD per automatizzare il tuo flusso di lavoro di archiviazione personalizzato
Continua da Archiviazione personalizzata
Se stai utilizzandoArchiviazione personalizzata per pianificare la sicurezza e la conformità, connettilo con Critturazione per i dettagli di implementazione in Critturazione, If you are using 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.