Storage Personalizzato
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 delle tue app, consentendo di ospitare le tue aggiornamenti sul tuo proprio infrastructure 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
Sottosezione intitolata “Panoramica”La memorizzazione personalizzata in Capgo funziona caricando il tuo pacchetto in un'ubicazione esterna e fornendo a Capgo l'URL per accedervi. Il Capgo SDK scaricherà quindi gli aggiornamenti direttamente dalla tua posizione di memorizzazione personalizzata anziché dalla memorizzazione cloud di Capgo per impostazione predefinita.
Caricamento di URL esterno
Sottosezione intitolata “Caricamento di URL esterno”La via più semplice per utilizzare la memorizzazione personalizzata è caricare il tuo pacchetto in qualsiasi URL accessibile pubblicamente e fornire quell'URL a Capgo.
Caricamento di URL esterno base
Sezione intitolata “Caricamento di URL esterno base”npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipQuesto comando dice a Capgo di fare riferimento al pacchetto al URL specificato invece di caricarlo nel cloud storage di Capgo.
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 S3
Sezione intitolata “Integrazione S3”Capgo fornisce 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 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 | Richiesto |
|---|---|---|
--s3-region | Regione AWS per il tuo bucket S3 | Sì |
--s3-apikey | ID chiave di accesso S3 | Sì |
--s3-apisecret | Chiave di accesso segreta S3 | Sì |
--s3-bucket-name | Nome del tuo bucket S3 | Sì |
--s3-endpoint | URL del endpoint S3 personalizzato | No |
--s3-port | Porto per endpoint S3 | No |
--no-s3-ssl | Disabilita SSL per caricamento S3 | No |
Preparazione e crittografia del pacchetto
Sezione intitolata “Preparazione e crittografia del pacchetto”Quando si utilizza lo storage personalizzato, soprattutto con l'encryption, è necessario preparare correttamente i propri bundle. Ciò comporta la creazione di un file zip e l'eventuale cifratura.
Passo 1: Crea un Pacchetto Zip
Sezione intitolata “Passo 1: Crea un bundle ZIP”Crea prima un file zip del tuo bundle di app:
npx @capgo/cli@latest bundle zip com.example.app --path ./distLa comandi 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.
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 zip (predefinito da webDir da capacitor.config) |
--bundle | Numero di versione del bundle per denominare il file zip |
--name | Nome personalizzato per il file zip |
--json | Risultati di output 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 | I percorsi dei file package.json per i monorepos (separati da virgole) |
Passo 2: Criptare l'Archivio (Facoltativo)
Area del titolo "Passo 2: Criptare l'Archivio (Facoltativo)"Per una maggiore sicurezza, criptate il vostro archivio 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 vostro file zip. Potete ottenere il checksum dal comando zip (utilizzare --json opzione per l'output strutturato).
Di default, il comando di cifratura utilizzerà la tua chiave privata di firma locale. Puoi specificare una chiave personalizzata utilizzando il --key o --key-data opzioni.
La riga comando di cifratura restituirà le ivSessionKey richieste per l'upload o la decifrazione.
Opzioni del comando di cifratura
Sottosezione 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 | Custom path for private signing key (optional, uses local key by default) |
--key-data | Dati della chiave di firma privata direttamente (facoltativo) |
--json | Formato di uscita in 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:
Fermata 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.
-
Cifra il file zip:
Finestra del terminale npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2Nota il
ivSessionKeyda cui si ottiene l'output. -
Carica sul tuo storage: Carica il file zip cifrato 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 la tua 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
Section titled “Example 3: S3 with Encryption”-
Costruisci e zip:
Fermata di comando npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Crittografa il pacchetto:
Fermata di comando npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
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
Considerazioni di sicurezza
Esempio 3: Considerazioni di sicurezzaQuando si utilizza lo storage personalizzato, considera queste pratiche di sicurezza migliori:
Controllo degli accessi
Sottosezione intitolata “Controllo degli accessi”- Assicurati che le URL dello storage siano accessibili agli utenti del tuo app ma non scopribili pubblicamente
- Utilizza URL firmati o autenticazione basata su token quando possibile
- Implementare corretti header CORS per applicazioni web-based
Crittografia
Sottosezione intitolata “Crittografia”- Sii sempre sicuri di cifrare i pacchetti sensibili utilizzando gli strumenti di cifratura 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 insoliti
- Configura gli avvisi per i download di bundle falliti
- Verifica 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
Error di crittografia:
- Verifica che il
ivSessionKeycorrisponda al bundle crittografato - Controlla che il bundle sia stato crittografato con la chiave corretta
- Assicurati di utilizzare l'encryption v2 per i nuovi bundle
Fallimenti di upload su S3:
- Verifica le tue credenziali e le tue 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 bundle:
npx @capgo/cli@latest app debugVerifica l'integrità del pacchetto:
npx @capgo/cli@latest bundle listNext Steps
Sezione intitolata “Passaggi successivi”- Scopri Canali per gestire ambienti di distribuzione diversi
- Esplora Comportamento dell'aggiornamento per personalizzare l'applicazione degli aggiornamenti
- Configura Integrazione CI/CD to automate your custom storage workflow
per automatizzare il tuo workflow di archiviazione personalizzata
Continua da Archiviazione PersonalizzataSottosezione intitolata “Continua da Archiviazione Personalizzata” Se stai utilizzando connettilo per pianificare la sicurezza e la conformità Encryption per i dettagli di implementazione in Encryption, Compliance per i dettagli di implementazione in Compliance, Capgo Scansionatore di Sicurezza per il workflow del prodotto in Capgo Scansionatore di Sicurezza, Capgo Sicurezza per il workflow del prodotto in Capgo Sicurezza, e Capgo Centro di Trust per il workflow del prodotto in Capgo Centro di Trust.