Comandi
Copia una riga di comando con le istruzioni di installazione e la guida markdown completa per questo plugin.
Utilizzo
Sezione intitolata “Utilizzo”Tutti i comandi dovrebbero essere eseguiti nella cartella del tuo progetto con capacitor progetto acceso correttamente.
npx @capgo/cli@latest init [apikey]
Questo metodo è qui per guidarti passo dopo passo.
Aggiungerà il tuo app a Capgo. Aggiungerà il code al tuo app per validare l'aggiornamento. Allo stesso modo, costruirà il tuo app. Inoltre, caricherà il tuo app su Capgo. E ti aiuterà a verificare se l'aggiornamento funziona.
Accesso
Sezione intitolata “Accesso”npx @capgo/cli login [apikey]
Questo metodo è qui per ricordare il apikey per te.
Opcionalmente puoi fornire:
--local Questo memorizzerà il tuo apikey nel repository locale e lo ignorerà nel file .gitignore.
npx @capgo/cli doctor
Comando per verificare se sei aggiornato con i pacchetti Capgo.
Questo comando sarà anche utile per i report di bug.
Aggiungi
Sezione intitolata “Aggiungi”npx @capgo/cli app add [appId]
[appId] inserisci il tuo ID dell'applicazione nel formato com.test.app è spiegato qui.
💡 Tutte le opzioni verranno dedotte nella tua configurazione se non fornite.
Facoltativamente, puoi fornire:
--icon [/path/to/my/icon]to have a custom icon display in Capgo web app.--name [test]per avere un nome personalizzato nella lista.--apikey [key]API chiave per collegare il tuo account.--retention [retention]periodo di conservazione del pacchetto dell'applicazione in giorni, 0 di default = infinito.
Esempio per appId e AppName, l'icona viene dedotta nella cartella dei risorse capacitor.config.json Esempio
{ "appId": "ee.forgr.capacitor_go", "appName": "Capgo", "webDir": "dist"}Imposta
Sezione intitolata “Imposta”npx @capgo/cli app set [appId]
[appId] è il tuo ID app, il formato è spiegato qui.
Opzionalmente, puoi dare:
--icon [/path/to/my/icon]per avere un'icona personalizzata nel web app di Capgo.--name [test]per avere un nome personalizzato nella lista.--retention [retention]periodo di conservazione del bundle dell'app in giorni, 0 per impostazione predefinita = infinito.--apikey [key]chiave API per collegarti al tuo account.
npx @capgo/cli app list [appId]
[appId] il tuo ID dell'applicazione nel formato com.test.app è spiegato qui.
Facoltativamente, puoi fornire:
--apikey [key]la chiave API per collegarti al tuo account.
Elimina
Sezione intitolata “Elimina”npx @capgo/cli app delete [appId]
[appId] il tuo ID dell'applicazione nel formato com.test.app è spiegato qui.
Facoltativamente, puoi fornire:
--apikey [key]la chiave API per collegarti al tuo account.--bundlecon il numero di versione cancellerà solo questa versione.
npx @capgo/cli app debug [appId]
[appId] il tuo ID app nel formato com.test.app è spiegato qui.
Opzionalmente, puoi fornire:
--apikey [key]la chiave API per collegarti al tuo account.--devicecon il dispositivo specifico che vuoi debuggare
Impostazioni
Sezione intitolata “Impostazioni”npx @capgo/cli app setting [path]
Modifica la configurazione Capacitor.
[path] - percorso della impostazione che desiderate modificare. Ad esempio, per modificare il appId, fornite appId.
Se desiderate disabilitare l'aggiornamento automatico nel capacitor-updater, fornite plugins.CapacitorUpdater.autoUpdate con --string off.
DEVE fornire o --string Opzioni: --bool!
- imposta l'impostazione a una stringa
--string <string>- imposta l'impostazione a un booleano--bool <true | false>Bundle
Sezione intitolata “Bundle”
If you wish to disable auto update in the __CAPGO_KEEP_0__ section, provide __CAPGO_KEEP_1__ with __CAPGO_KEEP_2__npx @capgo/cli bundle upload [appId]
[appId] è il tuo ID app, il formato è spiegato qui.
Opzionalmente, puoi fornire:
--apikey <apikey>chiave API per collegarsi al tuo account.--path <path>Percorso del folder da caricare.--channel <channel>Canale per collegarsi.--external <url>Collega a un URL esterno al posto di caricare su Capgo Cloud.--iv-session-key <key>Imposta la chiave di IV e la chiave di sessione per l'URL del pacchetto esterno.--s3-endpoint <s3Endpoint>URL del punto di fine endpoint S3. Non funziona con le opzioni di upload delta o esterno.--s3-region <region>Regione per il tuo bucket S3.--s3-apikey <apikey>API chiave per il tuo endpoint S3.--s3-apisecret <apisecret>API segreto per il tuo endpoint S3.--s3-bucket-name <bucketName>Nome per il tuo bucket S3 AWS.--s3-port <port>Porta per il tuo endpoint S3.--no-s3-sslDisabilita SSL per l'upload S3.--key <key>Percorso personalizzato per la chiave di firma pubblica (sistema v1).--key-data <keyData>Chiave di firma pubblica (sistema v1).--key-v2 <key>Percorso personalizzato per la chiave di firma privata (sistema v2).--key-data-v2 <keyData>Chiave di firma privata (sistema v2).--bundle-urlStampa l'URL del bundle nella stdout.--no-keyIgnora la chiave di firma e invia l'aggiornamento chiaro.--no-code-checkIgnora la verifica se notifyAppReady() è chiamata nella sorgente code e l'indice presente nella cartella root.--display-iv-sessionMostra in console la chiave IV e di sessione utilizzate per cifrare l'aggiornamento.--bundle <bundle>Numero di versione del bundle da caricare.--min-update-version <minUpdateVersion>Versione minima richiesta per aggiornarsi a questa versione. Utilizzato solo se l'aggiornamento automatico è disabilitato nel canale tramite metadati.--auto-min-update-versionImposta la versione minima di aggiornamento in base ai pacchetti nativi.--ignore-metadata-checkIgnora il controllo dei metadati (node_modules) durante l'upload.--ignore-checksum-checkIgnora il controllo della checksum durante l'upload.--timeout <timeout>Timeout per il processo di upload in secondi.--deltaCarica i file Delta (manifest) insieme al bundle completo.--delta-onlyCarica solo gli aggiornamenti Delta (manifest), saltando il bundle completo.--no-deltaDisabilita i caricamenti Delta (manifest) (utile se è abilitato il modo di applicazione istantanea ma si desidera un bundle completo).autoUpdateCarica il bundle utilizzando il protocollo tus.--tus__CAPGO_KEEP_0__--multipartUtilizza il protocollo multipart per caricare i dati su S3, Obsoleto, utilizza TUS al suo posto.--encrypted-checksum <encryptedChecksum>Un calcolo crittografato (firma). Utilizzato solo quando si carica un bundle esterno.--package-json <packageJson>Un percorso per package.json. Utile per i monorepos.--auto-set-bundleImposta il bundle in capacitor.config.json.--node-modules <nodeModules>Una lista di percorsi per node_modules. Utile per i monorepos (separati da virgole ad esempio: ../../node_modules,./node_modules)
⭐️ L'opzione esterna aiuta a sbloccare 2 casi: aziende con preoccupazioni sulla privacy, non inviare il code a un terzo part e app più grandi di 200 MB. Con questa impostazione, Capgo memorizza solo il collegamento al file zip e invia il collegamento a tutte le app.
👀 Il cloud di Capgo non guarda mai cosa c'è nel collegamento (per l'opzione esterna), o in code quando memorizzato.
🔑 Puoi aggiungere un secondo strato di sicurezza utilizzando la crittografia, quindi Capgo non potrà più guardare o modificare nulla, diventa “senza fiducia”.
Esempio di package.json per versione
{ "version": "1.0.2"}⛔ La versione dovrebbe essere maggiore di “0.0.0”.
💡 Ricorda di aggiornare il numero di versione ogni volta che lo invii, il numero di versione non può essere sovrascritto o riutilizzato dopo la cancellazione per motivi di sicurezza.
npx @capgo/cli bundle list [appId]
[appId] il tuo ID dell'applicazione nel formato com.test.app è spiegato qui.
Opzionalmente, puoi fornire:
--apikey [key]API chiave per collegarsi al tuo account.
Elimina
Sezione intitolata “Elimina”npx @capgo/cli bundle delete [appId]
[appId] il tuo ID dell'applicazione nel formato com.test.app è spiegato qui.
Facoltativamente, puoi fornire:
--apikey [key]la chiave API per collegare il tuo account.--bundlecon il numero di versione eliminerà solo questa versione.
Pulizia
Sezione intitolata “Pulizia”in un intervallo SemVer per una versione maggiore su Cloud
npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]
[appId] il tuo ID app nel formato com.test.app è spiegato qui.
Facoltativamente, puoi fornire:
--apikey [key]la chiave API per collegare il tuo account.--bundle [majorVersion]a version che desideri rimuovere i pacchetti precedenti, terrà l'ultimo +numberToKeep.--keep [numberToKeep]il numero di pacchetti che desideri mantenere (predefinito 4).
Esempio: Se hai 10 versioni da 10.0.1 a 10.0.11, e utilizzi npx @capgo/cli cleanup [appId] --bundle=10.0.0 terrà 10.0.7 fino a 10.0.11.
Se hai 20 versioni in totale, e non fornisci un numero di bundle come questo: npx @capgo/cli cleanup [appId] --keep=2 Rimuoverà 18 versioni, e terrà le ultime 2.
Questo comando chiederà conferma, mostra una tabella di cosa terrà e rimuoverà.
Avviso: Questo comando è deprecato e verrà rimosso nella prossima versione maggiore. Si prega di utilizzare il nuovo sistema di crittografia.
npx @capgo/cli bundle encrypt [path/to/zip]
Questo comando viene utilizzato quando si utilizza una fonte esterna per memorizzare il tuo code o per scopi di test.
Facoltativamente, puoi fornire:
--key [/path/to/my/private_key] la percorso della tua chiave privata.
--key-data [privateKey] i dati della chiave privata, se desideri utilizzare inline.
Il comando stampa il tuo ivSessionKeyy e genera un file zip crittografato, da utilizzare con il comando di caricamento o il comando di decrittazione.
Crittografa V2
Sottosezione intitolata “Crittografa V2”npx @capgo/cli bundle encrypt [path/to/zip] [checksum]
Questo comando viene utilizzato quando si utilizza una fonte esterna per memorizzare il tuo code o per scopi di test.
La checksum è il sha256 del bundle (generato da —key-v2), viene utilizzato per verificare l'integrità del file dopo la decrittazione. Verrà crittografato con la chiave privata e inviato insieme al bundle. Nella crittografia v2 la checksum viene aggiornata per diventare una “firma” del bundle.
--key [/path/to/my/private_key] Facoltativamente, puoi fornire: la percorso della tua chiave privata.
--key-data [privateKey] Dati della chiave privata, se desideri utilizzare inline.
--json Per stampare le informazioni in formato JSON.
Il comando stampa il tuo ivSessionKeyy e genera un file zip crittografato, per utilizzarlo con il comando di caricamento o il comando di decrittazione.
Decrittazione
Sottosezione intitolata “Decrittazione”npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]
Facoltativamente, puoi fornire:
--key [/path/to/my/private_key] La percorso della tua chiave privata.
--key-data [privateKey] Dati della chiave privata, se desideri utilizzare inline. Questo comando è principalmente utilizzato per scopi di test, decrittizzerà il file zip e stampa la chiave di sessione base64 decrittata nella console.
Decrittazione V2
Sottosezione intitolata “Decrittazione V2”npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]
Facoltativamente, puoi fornire:
--key [/path/to/my/private_key] La percorso della tua chiave privata.
--key-data [privateKey] Dati della chiave privata, se desideri utilizzarli in linea. Questo comando è principalmente utilizzato per scopi di test, decifrerà il zip e stampa la chiave di sessione decifrata in base64 nel console.
--checksum [checksum] il checksum del file, verificherà il checksum dopo la decifrazione.
npx @capgo/cli bundle zip [appId]
[appId] è il tuo ID app, il formato è spiegato qui.
Se desideri, puoi dare:
--path [/path/to/my/bundle]per caricare una cartella specifica.--bundle [1.0.0]per impostare il numero di versione del pacchetto nel nome del file.--name [myapp]per sovrascrivere il nome del file.--jsonper stampare le informazioni in formato JSON.--no-code-checkper ignorare il controllo code e inviare il pacchetto comunque.--key-v2per utilizzare il nuovo sistema di crittografia. Questo è richiesto poiché il nuovo sistema di crittografia utilizza checksum migliori per verificare l'integrità del file.
Compatibilità
è il tuo ID app, il formato è spiegatonpx @capgo/cli bundle compatibility [appId] -c [channelName]
[appId] qui il nome del canale da controllare..
[channelName] Facoltativamente, puoi fornire:
__CAPGO_KEEP_0__ chiave per collegarsi al tuo account.
--apikey [key]API key to link to your account.--textil canale da controllare la compatibilità con.--channel [channel]Un percorso a package.json. Utile per i monorepos--package-json <packageJson>Una lista di percorsi a node_modules. Utile per i monorepos (separati da virgole ad esempio: ../../node_modules,./node_modules)--node-modules <nodeModules>Sezione intitolata “Compatibilità”
Aggiungi
Sezione intitolata “Aggiungi”npx @capgo/cli channel add [channelName] [appId]
[channelName] il nome del tuo nuovo canale, ad esempio production o beta. [appId] il tuo ID dell'applicazione nel formato com.test.app è spiegato qui.
Elimina
Sezione intitolata “Elimina”npx @capgo/cli channel delete [channelName] [appId]
[channelName] il nome del canale che desideri eliminare. [appId] il tuo ID dell'applicazione nel formato com.test.app è spiegato qui.
npx @capgo/cli channel list [appId]
[appId] il tuo ID dell'applicazione nel formato com.test.app è spiegato qui.
Facoltativamente, puoi fornire:
--apikey [key]API chiave per collegare il tuo account.
Impostazioni
Sezione intitolata “Impostazioni”npx @capgo/cli channel set [channelName] [appId]
[appId] è il tuo ID dell'applicazione, il formato è spiegato qui.
[channelName] il nome del canale che desideri configurare, ad esempio production o beta.
Facoltativamente, puoi fornire:
--bundle [1.2.3]il tuo bundle dell'applicazione già inviato in cloud, per collegarlo a un canale.--latestottenere la versione del bundle dapackage.json:version, non può essere utilizzato con--bundle.--state [ normal | default ]impostare lo stato del canale, può esserenormalodefault. Un canale deve esseredefault.--downgradeconsente al canale di inviare versioni di downgrade ai dispositivi.--no-downgradedisabilita il canale di inviare versioni di downgrade ai dispositivi.--upgradeconsente al canale di inviare versioni di upgrade (maggiore) ai dispositivi.--no-upgradedisabilita il canale di inviare versioni di upgrade (maggiore) ai dispositivi.--iosconsente al canale di inviare versioni ai dispositivi iOS.--no-iosdisabilita il canale di inviare versioni ai dispositivi iOS.--androidconsente al canale di inviare versioni ai dispositivi Android.--no-androiddisabilita il canale di inviare versioni ai dispositivi Android.--self-assignconsente ai dispositivi di assegnarsi automaticamente a questo canale.--no-self-assigndisabilita ai dispositivi di assegnarsi automaticamente a questo canale.--disable-auto-update STRATEGYDisabilita la strategia di aggiornamento automatico per questo canale. Le opzioni possibili sono: maggiore, minore, metadati, nessuno.--apikey [key]API chiave per collegarsi al proprio account.
Disabilita la strategia di aggiornamento
Evidenzia le strategie di disabilitazione degli aggiornamentiC'è più di un modo per gestire la disabilitazione degli aggiornamenti per le versioni troppo vecchie.
Capgo non può aggiornare le librerie native code quindi un aggiornamento da una versione con la vecchia libreria nativa code a una versione con la libreria nativa aggiornata code non dovrebbe essere possibile.
Ci sono un paio di modi per raggiungere questo obiettivo.
Prima, la major . La strategia impedisce un aggiornamento da 0.0.0 -> 1.0.0. Il numero maggiore è il numero evidenziato (1.0.0 e 0.0.0).
Secondo è la minor . La strategia impedisce un aggiornamento da 0.0.0 -> 1.1.0 o un aggiornamento da 1.1.0 a 1.2.0.
ATTENZIONE questa strategia non impedisce un aggiornamento da 0.1.0 -> 1.1.0
Terzo, il patch strategia. È stato aggiunto in capgo come un modo molto rigoroso. Non è consigliato di utilizzarlo a meno che non si comprenda completamente come funziona.
Per accettare un aggiornamento sono necessarie le seguenti condizioni:
- Il maggiore è lo stesso tra la nuova e la versione vecchia
- Il minore è lo stesso tra la nuova e la versione vecchia
- Il patch della nuova versione se maggiore del patch della versione vecchia
Ecco un esempio di quali scenari l'aggiornamento è consentito o negato
- 0.0.311 -> 0.0.314 ✅
- 0.0.0 -> 0.0.314 ✅
- 0.0.316 -> 0.0.314 ❌
- 0.1.312 -> 0.0.314 ❌
- 1.0.312 -> 0.0.314 ❌
Infine la strategia più complessa. Il metadata strategia.
In primo luogo è necessario sapere che inizialmente dopo averlo abilitato gli aggiornamenti SARANNO falliti poiché il canale manca dei dati di metadati richiesti.
If il canale manca di metadati vedrai un messaggio come questo:
Se vedi qualcosa di questo tipo sai che devi andare alla cartella corrente del canale che sta fallendo e impostare i metadati.
Prima, determina quale canale sta fallendo. Puoi farlo guardando la misconfigured colonna
Poi vai al canale che sta fallendo e clicca su Bundle number. Ciò dovrebbe portarti alla pagina della cartella.
Una volta lì, riempi il Minimal update version campo. Questo dovrebbe essere un semver.
Se il valore che passate non è un semver otterrete un errore, ma se tutto va bene dovreste vedere qualcosa di questo tipo:
Ora, probabilmente non desiderate impostare manualmente questo dato ogni volta che aggiornate. Fortunatamente, il CLI vi impedirà di inviare un aggiornamento senza questo metadato
Per caricare correttamente un bundle quando si utilizza l' metadata opzione, è necessario passare il --min-update-version con il semver valido. Qualcosa di questo tipo:
Il --min-update-version non è l'UNICO modo di fare la compatibilità.
Esistono anche altre opzioni --auto-min-update-versionEcco come funziona.
In primo luogo, esamina la versione attualmente caricata sul canale. Verifica la compatibilità allo stesso modo di un comando.
Secondo, se la nuova versione è del 100% compatibile, riprende il "bundle" dalla versione più recente nel canale.
Se non lo è, allora imposta il "bundle" al numero del bundle della versione appena caricata.
Otterrai sempre informazioni sul "bundle" quando utilizzi questa opzione. Assumerà un aspetto simile a questo: "Min update version".
Se la nuova versione non è compatibile dovrebbe avere un aspetto simile a questo: "Min update version not compatible".
Crittografia end-to-end (senza fiducia) bundle compatibility Si prega di notare che "bundle" è un termine tecnico e potrebbe richiedere ulteriori informazioni per essere compreso correttamente. min_update_version Ecco come funziona. min_update_version In primo luogo, esamina la versione attualmente caricata sul canale. Verifica la compatibilità allo stesso modo di un comando.
Secondo, se la nuova versione è del 100% compatibile, riprende il "bundle" dalla versione più recente nel canale.
Se non lo è, allora imposta il "bundle" al numero del bundle della versione appena caricata.
Otterrai sempre informazioni sul "bundle" quando utilizzi questa opzione. Assumerà un aspetto simile a questo: "Min update version".
Se la nuova versione non è compatibile dovrebbe avere un aspetto simile a questo: "Min update version not compatible".
Crittografia end-to-end (senza fiducia) min_update_version Ecco come funziona.
Crittografia end-to-end (senza fiducia)
In primo luogo, esamina la versione attualmente caricata sul canale. Verifica la compatibilità allo stesso modo di un comando. Secondo, se la nuova versione è del 100% compatibile, riprende il "bundle" dalla versione più recente nel canale. Se non lo è, allora imposta il "bundle" al numero del bundle della versione appena caricata. Otterrai sempre informazioni sul "bundle" quando utilizzi questa opzione. Assumerà un aspetto simile a questo: "Min update version". Se la nuova versione non è compatibile dovrebbe avere un aspetto simile a questo: "Min update version not compatible".
Crittografia end-to-end (senza fiducia)Capgo supporta la crittografia end-to-end, ciò significa che il tuo bundle (code) viene crittografato prima di essere inviato in cloud e decrittografato sul dispositivo. Per questo, hai bisogno di generare una coppia di chiavi RSA, puoi utilizzare il seguente comando per generarle.
Il sistema di crittografia è una combinazione di RSA e AES, la chiave RSA viene utilizzata per crittografare la chiave AES, e la chiave AES viene utilizzata per crittografare il file.
Vedi di seguito per ulteriori informazioni sul sistema di crittografia.
Schema di crittografia
Crea una chiave per il tuo app
Sezione intitolata “Crea una chiave per il tuo app”npx @capgo/cli key create
Se lo desideri, puoi fornire: --force per sovrascrivere la chiave esistente. Questo comando creerà per te una coppia di chiavi nel tuo app, e chiederà di salvare la chiave privata in un luogo sicuro. È consigliabile non commitare la chiave privata nel repository Git, e non condividerla con nessuno.
Dopo aver effettuato i test locali, rimuovi la chiave dal file di configurazione e aggiungila nel passo di CI con
key save
Salva la chiave nel file di configurazione dell'app
Sezione intitolata “Salva la chiave nel file di configurazione dell'app”npx @capgo/cli key save
Facoltativamente, puoi fornire:
--key [/path/to/my/public_key] la strada del tuo file di chiave pubblica.
--key-data [publicKey] i dati della chiave pubblica, se desideri utilizzare inline. Questo comando è utile se hai seguito la raccomandazione e non hai commesso la chiave nel tuo config dell'app.
Integrazione Ci
Sezione intitolata “Integrazione Ci”Per automatizzare il tuo lavoro, ti consiglio di far fare al GitHub l'azione di inviare sul nostro server
La nostra demo app
Sezione intitolata “La nostra demo app”Non dimenticare di configurare l'ambiente di lavoro CI con la tua API chiave
Continua da Comandi
Sezione intitolata “Continua con i Comandi”Se stai utilizzando Comandi per pianificare il dashboard e le operazioni di API API Overview API Overview per i dettagli di implementazione in __CAPGO_KEEP_0__ Overview Introduzione API Keys API Keys per i dettagli di implementazione in __CAPGO_KEEP_0__ Keys Dispositivi Pacchetti per il dettaglio di implementazione in Pacchetti.