Comandi
Copia una promozione di installazione con i passaggi e la guida markdown completa per questo plugin.
Questa pagina è un'introduzione guidata. Utilizza la riferimento delle attuali comandi per le bandiere esatte: app, bundle, canale, e costruisci.
Utilizzo
Sezione intitolata “Utilizzo”Tutti i comandi dovrebbero essere eseguiti nella cartella del tuo progetto con capacitor acceso correttamente.
npx @capgo/cli@latest init [apikey]
Questo metodo è qui per guidarti passo dopo passo.
Aggiungerà il tuo progetto a Capgo. Aggiungerà code al tuo progetto per validare l'aggiornamento. Inoltre, costruirà il tuo progetto. Inoltre, caricherà il tuo progetto su Capgo. E aiuterà a verificare se l'aggiornamento funziona.
npx @capgo/cli login [apikey]
Sezione intitolata “Accedi” apikey Questo metodo è qui per ricordare le tue credenziali per te.
Facoltativamente puoi fornire:
--local Questo salverà il tuo apikey in 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 app nel formato com.test.app è spiegato qui.
💡 Tutte le opzioni verranno dedotte dalla tua configurazione se non fornite.
Se lo desideri, 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 per collegare il tuo account.--retention [retention]periodo di conservazione del bundle dell'applicazione in giorni, 0 di default = infinito.
Esempio di capacitor.config.json per appId e AppName, l'icona viene indovinata nella cartella dei risorse
{ "appId": "ee.forgr.capacitor_go", "appName": "Capgo", "webDir": "dist"}Imposta
Sezione intitolata “Imposta”npx @capgo/cli app set [appId]
[appId] è il tuo ID dell'applicazione, il formato è spiegato qui.
Facoltativamente, puoi dare:
--icon [/path/to/my/icon]per avere un'icona personalizzata nella Capgo app web.--name [test]per avere un nome personalizzato nella lista.--retention [retention]periodo di conservazione del bundle dell'applicazione in giorni, 0 di default = infinito.--expose-metadata [true|false]Eseporre i metadati del bundle (link e commento) al plugin.--previewo--no-previewOppure, se si desidera saperne di più sulle alternative di Capacitor, sulle alternative di Appflow o sulle alternative di Capawesome, o se si desidera saperne di più sulle nostre consulenze, si prega di cliccare sul link qui sopra.--allow-device-custom-idEseporre i codici QR di anteprima del bundle e del canale.--no-allow-device-custom-ido--block-provider-infra-requestsOppure, se si desidera saperne di più sulle alternative di Capacitor, sulle alternative di Appflow o sulle alternative di Capawesome, o se si desidera saperne di più sulle nostre consulenze, si prega di cliccare sul link qui sopra.--no-block-provider-infra-requestsEseporre i codici ID dei dispositivi personalizzati.--build-timeout-minutes [5-360]o--ios-store-url [url]Oppure, se si desidera saperne di più sulle alternative di Capacitor, sulle alternative di Appflow o sulle alternative di Capawesome, o se si desidera saperne di più sulle nostre consulenze, si prega di cliccare sul link qui sopra.--android-store-url [url]Eseporre i blocchi dei richiesti di dati dei datacenter Google e Apple.--default-upload-channel [channel]Eseporre il timeout di costruzione nativa.--default-download-channel [channel]o--disable-download-channelsper rendere tutti i canali di download non pubblici.--apikey [key]la chiave API per collegarsi al proprio account.
npx @capgo/cli app list [appId]
[appId] l'ID dell'applicazione nel formato com.test.app è spiegato qui.
Facoltativamente, puoi fornire:
--apikey [key]la chiave API per collegarsi al proprio account.
npx @capgo/cli app delete [appId]
[appId] l'ID dell'applicazione nel formato com.test.app E' spiegato Ecco.
Facoltativamente, puoi fornire:
--apikey [key]API chiave per collegarsi al tuo account.--bundleCon il numero di versione, verrà eliminata solo questa versione.
npx @capgo/cli app debug [appId]
[appId] il tuo ID app nella forma com.test.app E' spiegato Ecco.
Facoltativamente, puoi fornire:
--apikey [key]API chiave per collegarsi al tuo account.--devicecon il dispositivo specifico che desideri debuggare
Impostazioni
Sezione intitolata “Impostazioni”npx @capgo/cli app setting [path]
Modifica la Capacitor configurazione.
[path] - percorso della impostazione che desideri modificare. Ad esempio, per modificare il appId, fornisci appId.
Se desideri disabilitare l'aggiornamento automatico in capacitor-updater, fornisci plugins.CapacitorUpdater.autoUpdate con --string off.
Dovresti fornire o --string o --bool!
Opzioni:
--string <string>- imposta la impostazione su una stringa--bool <true | false>- imposta la impostazione su un booleano
npx @capgo/cli bundle upload [appId]
[appId] è il tuo ID applicazione, il formato è spiegato qui.
Se lo desideri, puoi fornire:
--apikey <apikey>API chiave per collegarsi al tuo account.--path <path>Percorso del folder da caricare.--channel <channel>Canale da collegare.--external <url>Collegamento a un URL esterno al posto dell'upload su Capgo Cloud.--iv-session-key <key>Imposta la chiave di IV e la chiave di sessione per l'URL del bundle esterno.--s3-endpoint <s3Endpoint>URL del punto di fine esterno S3. Non funziona con le upload delta o l'opzione esterna.--s3-region <region>Regione per il tuo bucket S3.--s3-apikey <apikey>API chiave per il tuo punto di fine S3.--s3-apisecret <apisecret>API segreto per il tuo punto di fine S3.--s3-bucket-name <bucketName>Nome per il tuo bucket S3 AWS.--s3-port <port>Porta per il tuo punto di fine 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 console.--no-keyIgnora la chiave di firma e invia l'aggiornamento chiaro.--no-code-checkIgnora la verifica se notifyAppReady() è chiamato nel file sorgente code e l'indice presente nella cartella radice.--display-iv-sessionMostra nella console la chiave di sessione e l'IV utilizzati per cifrare l'aggiornamento.--bundle <bundle>Numero di versione del bundle da caricare.--auto-bump [level]Numero di versione del bundle da caricare (auto-incrementa dal bundle collegato al canale, altrimenti la versione più recente dell'app remota). Livello:major,minor(predefinito)patch(alias)fix),metadata(o)ai(il Workers AI confronta i file locali con il manifesto delta del canale precedente Capgo, inferisce il livello e registra una breve ragione; salta l'AI e aumenta)patchse non esiste una versione precedente Capgo. Aumenta fino a trovare un nome libero (i nomi eliminati restano occupati). Non può essere combinato con--bundle.--min-update-version <minUpdateVersion>La versione minima richiesta per aggiornarsi a questa versione. Utilizzato solo se l'aggiornamento automatico è disabilitato nel canale tramite i metadati.--auto-min-update-versionImposta la versione minima di aggiornamento in base ai pacchetti nativi.--ignore-metadata-checkIgnota la verifica dei metadati (node_modules) durante l'upload.--ignore-checksum-checkIgnota la verifica del checksum durante l'upload.--timeout <timeout>Timeout per il processo di upload in secondi.--deltaCarica i file Delta (manifesto) insieme al bundle completo.--delta-onlyCarica solo gli aggiornamenti Delta (manifesto), saltando il bundle completo.--no-deltaDisabilita i caricamenti Delta (manifesto) (utile se è abilitato il modalità di applicazione istantanea ma si desidera un bundle completo).autoUpdateCarica il bundle utilizzando il protocollo TUS.--tusUtilizza il protocollo multipart per caricare i dati su S3, Obsoleto, utilizzare TUS al suo posto.--multipartUn checksum crittografato (firma). Utilizzato solo quando si carica un bundle esterno.--encrypted-checksum <encryptedChecksum>Disabilita i caricamenti Delta (manifesto) (utile se è abilitato il modalità di applicazione istantanea ma si desidera un bundle completo).--package-json <packageJson>A 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 una terza parte e applicazioni più grandi di 200 MB. Con questa impostazione, Capgo memorizza solo il collegamento al file zip e invia il collegamento a tutte le applicazioni.
👀 Il cloud di Capgo non guarda mai cosa c'è nel collegamento (per l'opzione esterna), o nel code quando memorizzato.
🔑 Puoi aggiungere un secondo strato di sicurezza utilizzando la crittografia, quindi Capgo non potrà più guardare o modificare nulla, diventa “incondizionato”.
Esempio di package.json per versione
{ "version": "1.0.2"}⛔ La versione dovrebbe essere maggiore di “0.0.0”.
💡 Non dimenticare di aggiornare il numero di versione ogni volta che invii uno, 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 app nella forma com.test.app è spiegato qui.
Facoltativamente, puoi fornire:
--apikey [key]API chiave per collegare il tuo account.
Cancella
Sezione intitolata “Cancella”npx @capgo/cli bundle delete [appId]
[appId] il tuo ID app nella forma com.test.app è spiegato qui.
Facoltativamente, puoi fornire:
--apikey [key]API chiave per collegarsi al tuo account.--bundlecon il numero di versione cancellerà solo questa versione.
Pulizia
Sezione intitolata “Pulizia”in un intervallo SemVer per una versione maggiore verso Cloud
npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]
[appId] il tuo ID app nel formato com.test.app è spiegato qui.
Opzionalmente, puoi dare:
--apikey [key]API chiave per collegarsi al tuo account.--bundle [majorVersion]una versione che desideri rimuovere i pacchetti precedenti, terrà l'ultimo +numberToKeep.--keep [numberToKeep]il numero di pacchetti che desideri tenere (di default 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 Rimuoverà 10.0.1 a 10.0.6. 10.0.7 fino a 10.0.11 verranno conservati.
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 conserva le ultime 2.
Questa operazione richiederà una conferma, mostrerà una tabella di cosa verrà conservato e rimuovuto.
Avvertenza: Questa operazione è deprecata e verrà rimossa nella prossima versione maggiore. Utilizza il nuovo sistema di cifratura.
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 decrittografia.
Crittografa V2
Sezione 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. Il checksum è lo sha256 del pacchetto (generato da —key-v2), viene utilizzato per verificare l'integrità del file dopo la decrittografia. Verrà crittografato con la chiave privata e inviato insieme al pacchetto. Nella crittografia v2 il checksum viene aggiornato per diventare una “firma” del pacchetto.
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.
--json per stampare le informazioni in formato JSON.
Il comando stampa il tuo ivSessionKeye e generare un 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]
Se lo desiderate, potete fornire:
--key [/path/to/my/private_key] la via del vostro chiave privata.
--key-data [privateKey] i dati della chiave privata, se desiderate utilizzarli inline. Questo comando è principalmente utilizzato per scopi di test, decrittizzerà il 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]
Se lo desiderate, potete fornire:
--key [/path/to/my/private_key] la via del vostro chiave privata.
--key-data [privateKey] i dati della chiave privata, se desiderate utilizzarli inline. Questo comando è principalmente utilizzato per scopi di test, decrittizzerà il zip e stampa la chiave di sessione base64 decrittata nella console.
--checksum [checksum] il checksum del file, verificherà il checksum dopo la decrittazione.
npx @capgo/cli bundle zip [appId]
[appId] è il tuo ID app, la formattazione è spiegata qui.
Se lo desideri, puoi fornire:
--path [/path/to/my/bundle]per caricare una cartella specifica.--bundle [1.0.0]per impostare il numero di versione del bundle nel nome del file.--name [myapp]per sovrascrivere il nome del file.--jsonper visualizzare le informazioni in formato JSON.--no-code-checkper ignorare il controllo code e inviare il bundle 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à
Sezione intitolata “Compatibilità”npx @capgo/cli bundle compatibility [appId] -c [channelName]
[appId] è il tuo ID applicazione, il formato è spiegato qui.
[channelName] il nome del canale da verificare.
Opcionalmente, puoi fornire:
--apikey [key]API chiave per collegare il tuo account.--textutilizzare il testo al posto degli emoji nella tabella--channel [channel]il canale da verificare la compatibilità con.--package-json <packageJson>Un percorso per package.json. Utile per i monorepos--node-modules <nodeModules>Una lista di percorsi per node_modules. Utile per i monorepos (separati da virgole ad esempio: ../../node_modules,./node_modules)
Aggiungi
Sezione intitolata “Aggiungi”npx @capgo/cli channel add [channelName] [appId]
[channelName] il nome del tuo nuovo canale, ad esempio production o beta. [appId] o com.test.app nome del tuo nuovo canale, ad esempio nome del tuo nuovo canale, ad esempio.
nome del tuo nuovo canale, ad esempio
nome del tuo nuovo canale, ad esempionpx @capgo/cli channel delete [channelName] [appId]
[channelName] nome del tuo nuovo canale, ad esempio [appId] nome del tuo nuovo canale, ad esempio com.test.app nome del tuo nuovo canale, ad esempio Ecco.
npx @capgo/cli channel list [appId]
[appId] il tuo ID app, il formato è spiegato com.test.app Ecco Ecco.
Facoltativamente, puoi fornire:
--apikey [key]API chiave per collegare il tuo account.
npx @capgo/cli channel set [channelName] [appId]
[appId] è il tuo ID app, il formato è spiegato Ecco.
[channelName] il nome del canale che desideri configurare, ad esempio production o beta.
Se desideri, puoi fornire:
--bundle [1.2.3]il tuo bundle di app 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, è necessariodefault.--downgradeconsente al canale di inviare una versione di downgrade ai dispositivi.--no-downgradeimpedisce al canale di inviare una versione di downgrade ai dispositivi.--upgradeconsente al canale di inviare una versione di upgrade (maggiore) ai dispositivi.--no-upgradeimpedisce al canale di inviare l'aggiornamento (versione maggiore) ai dispositivi.--iosconsente al canale di inviare la versione ai dispositivi iOS.--no-iosimpedisce al canale di inviare la versione ai dispositivi iOS.--androidconsente al canale di inviare la versione ai dispositivi Android.--no-androidimpedisce al canale di inviare la versione ai dispositivi Android.--self-assignconsente ai dispositivi di assegnarsi automaticamente a questo canale.--no-self-assignimpedisce 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, patch, metadati, nessuno.--apikey [key]API chiave per collegarsi al proprio account.
Disabilita la strategia di aggiornamento.
Sezione intitolata “Disabilita la strategia di aggiornamento”.Sono presenti alcune modalità per gestire la disabilitazione degli aggiornamenti per versioni troppo vecchie.
Capgo non può aggiornare nativi code quindi un aggiornamento da una versione con il vecchio nativo code a una versione con il nativo aggiornato code non dovrebbe essere possibile.
Ci sono un paio di modi per raggiungere questo obiettivo.
Prima, la major strategia. Impedisce un aggiornamento da baseline nativo 0.0.0 -> bundle di destinazione 1.0.0. Il major è il numero evidenziato (1.0.0 e 0.0.0).
Seconda è la minor strategia. Impedisce un aggiornamento quando il bundle di destinazione ha un major o minor diverso dal baseline nativo del dispositivo, come ad esempio 0.0.0 -> 1.1.0 o 1.1.0 -> 1.2.0.
context patch strategy. It was added into capgo as a very strict mode. It’s not recommended to be used unless you fully understand how it works.
In order for it to accept an update, the following conditions must be met:
- strategia. È stata aggiunta in __CAPGO_KEEP_0__ come modalità molto rigorosa. Non è consigliato utilizzarla a meno che non si comprenda completamente come funziona.
Per accettare un aggiornamento, devono essere soddisfatte le seguenti condizioni:
version_build - The minor è lo stesso tra il bundle di destinazione e
version_build - The patch è lo stesso tra il bundle di destinazione e
version_build - Soltanto la suffisso di versione può differire, ad esempio prerelease (
-beta.2) o metadati di costruzione (+build.2)
Ecco un esempio di quali scenari l'aggiornamento è consentito o negato
- 1.0.0-beta.1 -> 1.0.0-beta.2 consentito
- 1.0.0+build.1 -> 1.0.0+build.2 consentito
- 1.0.0 -> 1.0.1 bloccato
- 1.0.0 -> 1.1.0 bloccato
- 1.0.0 -> 2.0.0 bloccato
La comparazione della strategia utilizza il baseline nativo inviato come version_build, non il bundle scaricato corrente inviato come version_name.
Infine la strategia più complessa. metadata La strategia.
Innanzitutto devi sapere che inizialmente dopo averla abilitata le aggiornamenti context: Pagina/Area: Capgo Builder / prodotto di costruzione nativa cloud. Ruolo: Etichetta breve di navigazione o elemento di navigazione. Chiave di messaggio `native_build_builder_credit_first` (Primo credito del costruttore di build nativo). NON
falliranno
Se il canale manca di dati, vedrai un messaggio come questo:
Non è possibile trovare i dati del metadata. misconfigured Se vedi qualcosa di questo tipo, significa che devi andare al bundle corrente per il canale che sta fallendo e impostare i dati del metadata.
colonna (colonna di tabella) di configurazione errata (tabella di configurazione errata). Bundle number. Questo dovrebbe portarti alla pagina del bundle.
Una volta lì, riempire il Minimal update version campo. Questo dovrebbe essere un semver.
Se il valore che passi non è un semver, otterrai un errore, ma se tutto va bene dovresti vedere qualcosa come questo:
Ora, probabilmente non vuoi impostare manualmente questo dato ogni volta che aggiorni. Fortunatamente, il CLI impedirà di inviare un aggiornamento senza questo metadati
Per caricare correttamente un bundle quando si utilizza l' metadata opzione, è necessario passare il --min-update-version insieme con il valid semverQualcosa del genere:
La --min-update-version non è l'UNICO modo di fare la compatibilità.
Esiste anche il --auto-min-update-versionEcco come funziona.
Innanzitutto, prende in considerazione la versione attualmente caricata sul canale. Controlla la compatibilità allo stesso modo in cui farebbe il bundle compatibility command. min_update_version In secondo luogo, se la nuova versione è del 100% compatibile, riprende il min_update_version dalla versione più recente nel canale.
Se non, allora imposta il min_update_version al numero del pacchetto della versione caricata di recente.
Se la nuova versione non è compatibile dovrebbe avere questo aspetto
Crittografia end-to-end (senza fiducia)
Sottosezione intitolata “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.
Lo schema 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.
Ecco di seguito ulteriori informazioni sullo schema di crittografia.
Schema di crittografia
Creare una chiave per il tuo app
Sottosezione intitolata “Creare una chiave per il tuo app”npx @capgo/cli key create
Opzionalmente, puoi fornire: --force Per sovrascrivere la chiave esistente. Questo comando creerà per te una coppia di chiavi nella tua app e ti chiederà di salvare la chiave privata in un luogo sicuro. È consigliabile non committare la chiave privata nel file di configurazione e non condividerla con nessuno.
Dopo il tuo test locale, rimuovi la chiave dal file di configurazione e aggiungila nel passaggio CI con
key save
Salva la chiave nella configurazione dell'app
Sottosezione intitolata "Salva la chiave nella configurazione dell'app"npx @capgo/cli key save
Opzionalmente, puoi fornire:
--key [/path/to/my/public_key] il percorso 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 nella configurazione dell'app.
Integrazione CI
Sottosezione intitolata "Integrazione CI"Per automatizzare il tuo lavoro, ti consiglio di fare che l'azione GitHub si occupi di inviare i dati al nostro server
La nostra app demo
Sezione intitolata “La nostra app demo”Non dimenticare di configurare la variabile di ambiente CI con la tua API chiave
Continua da Comandi
Sezione intitolata “Continua da Comandi”Se stai utilizzando Comandi per pianificare il dashboard e le operazioni API, connettilo con API Overview per i dettagli di implementazione in API Overview Introduzione per i dettagli di implementazione in Introduction API Chiavi per i dettagli di implementazione in API Chiavi Dispositivi per i dettagli di implementazione in Dispositivi, e Bundle per i dettagli di implementazione in Bundle.