Archiviazione Personalizzata
Copia una riga di impostazione 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 terze. Ciò è particolarmente utile per le organizzazioni con specifiche esigenze di sicurezza, necessità di conformità o infrastrutture di archiviazione esistenti.
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 gli aggiornamenti direttamente dalla tua posizione di storage personalizzato anziché da quella di default di Capgo.
Caricamento di URL esterno
Sezione intitolata “Caricamento di URL esterno”La via più semplice per utilizzare lo storage personalizzato è caricare il tuo bundle in qualsiasi URL accessibile pubblicamente e fornire quell'URL a Capgo.
Carico URL esterno base
Sezione intitolata “Carico 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 bundle specificato all'URL anziché caricarlo nel cloud storage di Capgo.
Con crittografia
Sezione intitolata “Con crittografia”Per un storage esterno sicuro, puoi crittografare il tuo bundle 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. Il CLI può caricare automaticamente il tuo bundle su S3 e configurare Capgo per utilizzare l'URL di S3.
S3 Upload Options
Sottosezione intitolata “S3 Upload Options”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
Sottosezione intitolata “Configurazione S3 completa”Per servizi di archiviazione 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
Sottosezione intitolata “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 di accesso S3 | Sì |
--s3-bucket-name | Nome del tuo bucket S3 | Sì |
--s3-endpoint | URL personalizzato del tuo endpoint S3 | No |
--s3-port | Porta 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 un archivio di storage personalizzato, soprattutto con crittografia, è necessario preparare i pacchetti in modo appropriato. Ciò comporta la creazione di un file zip e la crittografia facoltativa.
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' --json opzione per ottenere un output strutturato che include il checksum.
Opzioni del comando Zip
Sezione 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 | 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 | Periferiche per file package.json per progetti monorepo (separate da virgole) |
Passo 2: Criptare il Bundle (Facoltativo)
Sezione intitolata “Passo 2: Criptare il Bundle (Facoltativo)”Per una maggiore sicurezza, criptate il vostro 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 vostro file zip. Potete ottenere il checksum dalla output del comando zip (utilizzare --json opzione per output strutturato)
Per impostazione predefinita, il comando di crittografia utilizzerà la tua chiave di firma privata locale. Puoi specificare una chiave personalizzata utilizzando il --key o --key-data o sono necessari per l'upload o la decrittografia.
Opzioni del comando di crittografia ivSessionKey Sottosezione intitolata “Opzioni del comando di crittografia”
Opzione
Descrizione| Percorso del file zip da crittografare (obbligatorio) | Checksum del file zip (obbligatorio) - ottienilo dal comando zip |
|---|---|
zipPath | Percorso personalizzato per la chiave di firma privata (facoltativo, utilizza la chiave locale per impostazione predefinita) |
checksum | o |
--key | o |
--key-data | Dati della chiave di firma privata in modo diretto (facoltativo) |
--json | I risultati vengono visualizzati in formato JSON |
Sezione intitolata “Esempi di Flussi di Lavoro Completi”
Esempio 1: URL esterno con crittografiaSezione intitolata “Esempio 1: URL esterno con crittografia”
Costruisci il tuo app:-
Esempio 1: URL esterno con crittografia
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 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: Carica diretto su S3
Sezione intitolata “Esempio 2: Carica diretto su 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
Sezione intitolata “Esempio 3: S3 con crittografia”-
Costruisci e zip:
Fermata di comando npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Crittografa il bundle:
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
Titolo della sezione “Considerazioni di sicurezza”Quando si utilizza lo storage personalizzato, considera queste migliori pratiche di sicurezza:
Controllo degli accessi
Titolo della sezione “Controllo degli accessi”- Assicurati che le tue 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 gli app web
Crittografia
Titolo della sezione “Crittografia”- Assicurati di crittografare sempre i bundle 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 bundle (richiesto per gli 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
- 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
Errori di crittografia:
- Verifica il
ivSessionKeycorrisponde al bundle crittografato - Verifica 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 di S3
- Verifica le politiche del bucket e la configurazione CORS
- Assicurati che la regione specificata sia corretta
Comandi di debug
Scheda intitolata “Comandi di debug”Controlla 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 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 UI breve o elemento di navigazione. Chiave di messaggio `native_build_feature_ci_cd` (Native Build Feature Ci Cd).
per automatizzare il tuo workflow di archiviazione personalizzata
Continua da Archiviazione PersonalizzataSe stai utilizzando Archiviazione Personalizzata per pianificare la sicurezza e la conformità, connettilo con Crittografia per i dettagli di implementazione in Crittografia, Conformità per il dettaglio di implementazione in Conformità Capgo Scanner di sicurezza per il flusso di lavoro del prodotto in Capgo Scanner di sicurezza Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza, e Capgo Centro di fiducia per il flusso di lavoro del prodotto in Capgo Centro di fiducia.