Befehle
__CAPGO_KEEP_0__
Verwendung
Abschnitt mit dem Titel “Verwendung”Alle Befehle sollten in Ihrem App-Ordner ausgeführt werden, mit capacitor Projekt angesteckt.
npx @capgo/cli@latest init [apikey]
Diese Methode dient dazu, Sie Schritt für Schritt einzuführen.
Sie wird Ihr App zu Capgo hinzufügen. Sie wird code zu Ihrer App hinzufügen, um die Aktualisierung zu validieren. Ebenso wird sie Ihre App erstellen. Darüber hinaus wird sie Ihre App auf Capgo hochladen. Und sie wird Ihnen helfen, zu überprüfen, ob die Aktualisierung funktioniert.
Anmeldung
Abschnitt mit dem Titel “Anmeldung”npx @capgo/cli login [apikey]
Diese Methode dient dazu, Ihre Anmeldung zu speichern. apikey für Sie.
Optionell können Sie geben:
--local Dies wird Ihren apikey in der lokalen Repo speichern und ignoriert ihn im Git.
npx @capgo/cli doctor
Befehl, um zu überprüfen, ob Sie aktuell mit Capgo Paketen sind.
Diese Kommando wird auch nützlich für Fehlerberichte sein.
Hinzufügen
Abschnitt mit dem Titel “Hinzufügen”npx @capgo/cli app add [appId]
[appId] Ihre App-ID im Format com.test.app erklärt hier 💡 Alle Optionen werden in Ihrer Konfiguration erraten, wenn nicht angegeben..
Optional können Sie geben:
um eine benutzerdefinierte Schaltfläche in der __CAPGO_KEEP_0__ Webanwendung anzuzeigen.
--icon [/path/to/my/icon]to have a custom icon display in Capgo web app.--name [test]your app ID the format--apikey [key]API-Schlüssel zum Link auf Ihr Konto.--retention [retention]Aufbewahrungszeitraum des App-Bundles in Tagen, 0 durch Standard = unendlich.
Beispiel für capacitor.config.json für appId und AppName wird der Icon im Ressourcenordner erraten.
{ "appId": "ee.forgr.capacitor_go", "appName": "Capgo", "webDir": "dist"}Einstellen
Sektion mit dem Titel „Einstellen“npx @capgo/cli app set [appId]
[appId] Ist Ihre App-ID, die Formatierung wird erklärt hier.
Optional können Sie geben:
--icon [/path/to/my/icon]um eine benutzerdefinierte Icon-Anzeige in der Capgo-Web-Anwendung zu haben.--name [test]um einen benutzerdefinierten Namen in der Liste zu haben.--retention [retention]Aufbewahrungszeitraum des App-Bundles in Tagen, 0 durch Standard = unendlich.--apikey [key]API Schlüssel, um auf Ihr Konto zu verlinken.
npx @capgo/cli app list [appId]
[appId] Ihre App-ID in der Format com.test.app erklärt hier Sie können optional angeben:.
__CAPGO_KEEP_0__ Schlüssel, um auf Ihr Konto zu verlinken.
--apikey [key]API key to link to your account.
Abschnitt mit dem Titel „Löschen“
Ihre App-ID in der Formatnpx @capgo/cli app delete [appId]
[appId] Ihre App-ID in der Format ist erklärt hier. com.test.app erläutert hier hier.
Optionally, Sie können geben:
--apikey [key]API Schlüssel, um auf Ihr Konto zu verlinken.--bundleMit der Versionsnummer wird nur diese Version gelöscht.
npx @capgo/cli app debug [appId]
[appId] Ihre App-ID im Format com.test.app erläutert hier hier.
Optionally, Sie können geben:
--apikey [key]API Schlüssel, um auf Ihr Konto zu verlinken.--devicemit dem spezifischen Gerät, das Sie debuggen möchten
Einstellung
Abschnitt mit dem Titel „Einstellung“npx @capgo/cli app setting [path]
Bearbeiten Sie die Capacitor-Konfiguration.
[path] - Pfad der Einstellung, die Sie ändern möchten. Zum Beispiel, um die appIdgeben Sie appId.
Wenn Sie die automatische Aktualisierung deaktivieren möchten in dem capacitor-updater geben Sie plugins.CapacitorUpdater.autoUpdate
Sie MÜSSEN entweder --string oder --bool!
Optionen:
--string <string>- legt die Einstellung auf einen String fest--bool <true | false>- legt die Einstellung auf einen booleschen Wert
Hochladen
Abschnitt mit dem Titel “Hochladen”npx @capgo/cli bundle upload [appId]
[appId] Ihre App-ID ist hier, die Formatierung wird erklärt hier.
Sie können optional angeben:
--apikey <apikey>API-Schlüssel, um auf Ihr Konto zu verlinken.--path <path>Pfad des Ordners zum Hochladen.--channel <channel>Kanal, um zu verlinken.--external <url>Stattdessen auf eine externe URL verlinken, anstatt auf Capgo hochzuladen.--iv-session-key <key>Setzen Sie die IV und Sitzungsschlüssel für die Bundel-URL extern.--s3-endpoint <s3Endpoint>URL des S3-Endpunkts. Funktioniert nicht mit Delta-Uploads oder der externen Option.--s3-region <region>Region für Ihren S3-Bucket.--s3-apikey <apikey>API-Schlüssel für Ihren S3-Endpunkt.--s3-apisecret <apisecret>API-Geheimnis für Ihren S3-Endpunkt.--s3-bucket-name <bucketName>Name für Ihren AWS-S3-Bucket.--s3-port <port>Port für Ihren S3-Endpunkt.--no-s3-sslDeaktivieren Sie SSL für S3-Uploads.--key <key>Benutzerdefinierter Pfad für die öffentliche Signierungskey (v1-System).--key-data <keyData>Öffentliche Signierungskey (v1-System).--key-v2 <key>Benutzerdefinierter Pfad für die private Signierungskey (v2-System).--key-data-v2 <keyData>Private Signierungskey (v2-System).--bundle-urlDruckt die Bundle-URL in die Konsole aus.--no-keyÜbergeht die Signatur und sendet ein klares Update.--no-code-checkÜbergeht die Überprüfung, ob notifyAppReady() in der Quelle code und der Index im Root-Ordner vorhanden ist.--display-iv-sessionZeigt im Konsole die IV und Sitzungsschlüssel an, die zum Verschlüsseln des Updates verwendet werden.--bundle <bundle>Bundle-Version des zu uploadenden Bundles.--min-update-version <minUpdateVersion>Minimal erforderliche Version, um auf diese Version zu aktualisieren. Wird nur verwendet, wenn die automatische Aktualisierung in den Kanal in der Metadaten gesetzt ist.--auto-min-update-versionSetzt die Mindestaktualisierungsversion basierend auf native Paketen.--ignore-metadata-checkÜbergeht die Überprüfung der Metadaten (node_modules) bei dem Upload.--ignore-checksum-checkÜbergeht die Überprüfung der Prüfsumme bei dem Upload.--timeout <timeout>Zeitüberschreitung für den Upload-Prozess in Sekunden.--deltaLädt Delta- (Manifest-) Dateien zusammen mit dem vollständigen Bundle hoch.--delta-onlyLädt nur Delta- (Manifest-) Updates hoch, indem das vollständige Bundle übersprungen wird.--no-deltaDeaktiviert Delta (manifest)-uploads (nützlich, wenndirectUpdateSie haben enabled, aber ein vollständiges Bundle möchten).--tusLaden Sie das Bundle mit dem tus-Protokoll hoch.--multipartVerwendet das multipart-Protokoll, um Daten an S3 hochzuladen, veraltet, verwenden Sie TUS stattdessen.--encrypted-checksum <encryptedChecksum>Ein verschlüsselter Prüfsummenwert (Signatur). Verwendet nur, wenn ein externes Bundle hochgeladen wird.--package-json <packageJson>Ein Pfad zu package.json. Nützlich für Monorepos.--auto-set-bundleSetzen Sie das Bundle in capacitor.config.json.--node-modules <nodeModules>Eine Liste von Pfaden zu node_modules. Nützlich für Monorepos (komma-getrennt, z.B. ../../node_modules,./node_modules)
⭐️ Die externe Option hilft dabei, 2 Fälle zu lösen: Unternehmen mit Datenschutzbedenken, senden Sie das code nicht an einen Dritten und Apps größer als 200 MB. Mit dieser Einstellung speichert Capgo nur den Link zum Zip und sendet den Link an alle Apps.
👀 Der Capgo-Cloud sieht nie, was in dem Link (bei externer Option) oder im code gespeichert ist.
🔑 Sie können eine zweite Sicherheitsstufe durch Verschlüsselung nutzen, dann kann der Capgo nichts sehen oder ändern, es wird “vertrauenslos”.
Beispiel von package.json für Version
{ "version": "1.0.2"}⛔ Die Version sollte größer als „0.0.0“ sein.
💡 Vergessen Sie nicht, die Versionsnummer bei jeder Übermittlung zu aktualisieren, die Versionsnummer kann nicht überschrieben oder nach der Löschung wiederverwendet werden, aus Sicherheitsgründen.
npx @capgo/cli bundle list [appId]
[appId] Ihre App-ID im Format com.test.app erläutert hier Optional können Sie folgendes angeben:.
__CAPGO_KEEP_0__ Schlüssel, um auf Ihr Konto zu verlinken.
--apikey [key]API key to link to your account.
npx @capgo/cli bundle delete [appId]
[appId] Ihre App-ID in der Formatierung com.test.app erklärt wird hier.
Optional können Sie geben:
--apikey [key]API Schlüssel, um auf Ihr Konto zu verlinken.--bundleMit der Versionsnummer wird nur diese Version gelöscht.
in einer SemVer-Rang für eine Hauptversion zu Cloud
npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]
[appId] Ihre App-ID in der Formatierung com.test.app erklärt wird Hier.
Optional: Sie können auch angeben:
--apikey [key]API-Schlüssel, um auf Ihr Konto zu verlinken.--bundle [majorVersion]eine Version, für die Sie vorherige Pakete entfernen möchten, es wird die letzte behalten +numberToKeep.--keep [numberToKeep]die Anzahl der Pakete, die Sie behalten möchten (Standard 4).
Beispiel: Wenn Sie 10 Versionen von 10.0.1 bis 10.0.11 haben und es verwenden npx @capgo/cli cleanup [appId] --bundle=10.0.0 es werden 10.0.1 bis 10.0.6 entfernt. 10.0.7 bis 10.0.11 werden behalten.
Wenn Sie insgesamt 20 Versionen haben und keine Paketanzahl wie folgt angeben: npx @capgo/cli cleanup [appId] --keep=2 es werden 18 Versionen entfernt, und die letzten 2 werden behalten.
Diese Anweisung wird nach Bestätigung gefragt, es zeigt eine Tabelle an, was behalten und entfernt wird.
Verschlüsseln
Abschnitt mit dem Titel „Verschlüsseln“WarnungDiese Anweisung ist veraltet und wird in der nächsten großen Version entfernt. Bitte verwenden Sie das neue Verschlüsselungssystem.
npx @capgo/cli bundle encrypt [path/to/zip]
Diese Anweisung wird verwendet, wenn Sie einen externen Quellcode verwenden, um Ihre code zu speichern oder für Testzwecke.
Optional können Sie Folgendes angeben:
--key [/path/to/my/private_key] den Pfad Ihres privaten Schlüssels.
--key-data [privateKey] den privaten Schlüsseldaten, wenn Sie inline verwenden möchten. ivSessionKeyDie Anweisung wird Ihre __CAPGO_KEEP_0__ ausgeben und eine verschlüsselte Zip-Datei generieren, die Sie mit der Upload-Anweisung oder der Entschlüsselungsanweisung verwenden können.
Verschlüsseln V2
Abschnitt mit dem Titel „Verschlüsseln V2“npx @capgo/cli bundle encrypt [path/to/zip] [checksum]
Dieser Befehl wird verwendet, wenn Sie externe Quellen verwenden, um Ihre code zu speichern oder für Testzwecke.
Die Prüfsumme ist die sha256 des Bundles (erzeugt durch —key-v2), sie wird verwendet, um die Integrität des Dateis nach der Entschlüsselung zu überprüfen.
--key [/path/to/my/private_key] Sie wird mit dem privaten Schlüssel verschlüsselt und zusammen mit dem Bundle gesendet.
--key-data [privateKey] In der Verschlüsselung v2 wird die Prüfsumme zu einem „Signature“ des Bundles aufgerüstet.
--json Optional können Sie geben: ivSessionKeyden Pfad Ihres privaten Schlüssels.
die private Schlüsseldaten, wenn Sie inline verwenden möchten.
die Ausgabe als JSON zu sehen.npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]
Der Befehl wird Ihre
--key [/path/to/my/private_key] y und generiert einen verschlüsselten Zip, um ihn mit dem Upload-Befehl oder dem Entschlüsselungsbefehl zu verwenden.
--key-data [privateKey] Entschlüsseln
Abschnitt mit dem Titel „Entschlüsseln“","Optional können Sie geben:","den Pfad Ihres privaten Schlüssels","die private Schlüsseldaten, wenn Sie inline verwenden möchten. Dieser Befehl wird hauptsächlich für Testzwecke verwendet, er wird den Zip entchlüsseln und die bas64-entschlüsselte Sitzungsschlüssel in der Konsole ausgeben. "Entschlüsseln V2"
Abschnitt mit dem Titel “V2 entschlüsseln”npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]
Sie können optional angeben:
--key [/path/to/my/private_key] den Pfad Ihres privaten Schlüssels.
--key-data [privateKey] den privaten Schlüsseldaten, wenn Sie inline verwenden möchten. Diese Anweisung wird hauptsächlich für Testzwecke verwendet, sie wird den Zip entschlüsseln und das Base64-entschlüsselte Sitzungschlüssel in der Konsole ausgeben.
--checksum [checksum] den Prüfsummenwert des Dateis, es wird die Prüfsumme nach der Entschlüsselung überprüfen.
npx @capgo/cli bundle zip [appId]
[appId] Ihr App-ID ist, die Format wird erklärt hier.
Sie können optional angeben:
--path [/path/to/my/bundle]einen bestimmten Ordner hochzuladen.--bundle [1.0.0]die Versionsnummer des Bundle im Dateinamen festzulegen.--name [myapp]um den Dateinamen zu überschreiben.--jsonum Informationen als JSON auszugeben.--no-code-checkum die code-Überprüfung zu ignorieren und das Bundle trotzdem zu senden.--key-v2um das neue Verschlüsselungssystem zu verwenden. Dies ist erforderlich, da das neue Verschlüsselungssystem bessere Prüfsummen verwendet, um die Integrität der Datei zu überprüfen.
Kompatibilität
Abschnitt mit dem Titel „Kompatibilität“npx @capgo/cli bundle compatibility [appId] -c [channelId]
[appId] Ihre App-ID ist das, die Format wird erklärt hier.
[channelId] der Name Ihres neuen Kanals.
Optional können Sie geben:
--apikey [key]API-Schlüssel, um auf Ihr Konto zu verlinken.--textText anstelle von Emojis in der Tabelle verwenden.--channel [channel]der Kanal, um die Kompatibilität zu überprüfen.--package-json <packageJson>Ein Pfad zu package.json. Nützlich für Monorepos--node-modules <nodeModules>Eine Liste von Pfaden zu node_modules. Nützlich für Monorepos (komma getrennt z.B. ../../node_modules,./node_modules)
Hinzufügen
Abschnitt mit dem Titel „Hinzufügen“npx @capgo/cli channel add [channelId] [appId]
[channelId] den Namen Ihres neuen Kanals. [appId] Ihre App-ID im Format com.test.app erklärt hier.
npx @capgo/cli channel delete [channelId] [appId]
[channelId] den Namen Ihres Kanals, den Sie löschen möchten. [appId] Ihre App-ID in der Formatierung com.test.app wird hier erklärt. Liste.
Abschnitt mit dem Titel „Liste“
Ihre App-ID in der Formatierungnpx @capgo/cli channel list [appId]
[appId] wird hier erklärt. com.test.app Optional können Sie geben: __CAPGO_KEEP_0__-Schlüssel, um auf Ihr Konto zu verlinken..
__CAPGO_KEEP_0__ key to link to your account.
--apikey [key]API
npx @capgo/cli channel set [channelId] [appId]
[appId] Ihre App-ID, die Formatierung wird erklärt hier.
Sie können optional angeben:
--bundle [1.2.3]Ihr App-Bundle, das bereits an den Cloud gesendet wurde, um es mit einem Kanal zu verbinden.--latestdie Versionsnummer des Bundles abrufen vonpackage.json:versionkann nicht mit--bundle.--state [ normal | default ]den Kanalzustand setzen, kannnormaloderdefaultEiner der Kanäle mussdefault.--downgradeermöglicht dem Kanal, Downgrade-Versionen an Geräte zu senden.--no-downgradeverhindert das Kanal, um eine Downgrade-Version an Geräten zu senden.--upgradeerlaubt dem Kanal, eine Upgrade-(Haupt)-Version an Geräten zu senden.--no-upgradeverhindert dem Kanal, eine Upgrade-(Haupt)-Version an Geräten zu senden.--ioserlaubt dem Kanal, eine Version an iOS-Geräten zu senden.--no-iosverhindert dem Kanal, eine Version an iOS-Geräten zu senden.--androiderlaubt dem Kanal, eine Version an Android-Geräten zu senden.--no-androidverhindert dem Kanal, eine Version an Android-Geräten zu senden.--self-assignerlaubt Geräten, sich selbst diesem Kanal zuzuweisen.--no-self-assignverhindert Geräten, sich selbst diesem Kanal zuzuweisen.--disable-auto-update STRATEGYDeaktiviert die automatische Aktualisierungsstrategie für diesen Kanal. Die möglichen Optionen sind: Haupt, Minor, Metadaten, Keine.--apikey [key]API-Schlüssel, um auf Ihr Konto zuzugreifen.
Deaktiviert die Aktualisierungsstrategie
Sektion: "Updates-Strategie deaktivieren"Es gibt einige Möglichkeiten, Updates für zu alte Versionen zu deaktivieren.
Capgo kann keine native code aktualisieren, daher sollte ein Update von einer Version mit dem alten native code zu einer Version mit dem aktualisierten native code nicht möglich sein.
Es gibt ein paar Möglichkeiten, das zu erreichen.
Zuerst ist die "Major-Strategie". Sie verhindert ein Update von major Die Hauptversion ist die hervorgehobene Zahl ( 0.0.0 -> 1.0.00.0 und1Die zweite ist die "Minor-Strategie". Sie verhindert ein Update von 0.0.0).
oder ein Update von minor zu 0.0.0 -> 1.1.0 ACHTUNG: Beachten Sie das 1.1.0 BE AWARE 1.2.0.
BE AWARE Diese Strategie verhindert keine Aktualisierung. 0.1.0 -> 1.1.0
Drittens, die patch Strategie. Sie wurde in capgo als sehr strenger Modus hinzugefügt. Es wird nicht empfohlen, sie zu verwenden, es sei denn, Sie verstehen vollständig, wie sie funktioniert.
- Um eine Aktualisierung akzeptieren zu können, müssen die folgenden Bedingungen erfüllt sein:
- Der Major ist zwischen der neuen und der alten Version gleich.
- Der Minor ist zwischen der neuen und der alten Version gleich.
Die Patch-Version der neuen Version ist größer als die Patch-Version der alten Version.
- 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 ❌
Hier ist ein Beispiel für Szenarien, in denen die Aktualisierung zugelassen oder abgelehnt wird. metadata Zuletzt die am schwierigsten Strategie. Die
Strategie. Zuerst müssen Sie wissen, dass die Aktualisierungen ursprünglich nachdem Sie sie aktiviert haben, NICHT AKTIVIERT WERDEN, da der Kanal die erforderliche Metadaten fehlt.
Wenn der Kanal keine Metadaten enthält, sehen Sie eine Nachricht wie diese:
Wenn Sie etwas wie dies sehen, wissen Sie, dass Sie zum aktuellen Bundle des fehlenden Kanals gehen und die Metadaten einrichten müssen.
Zuerst müssen Sie herausfinden, welcher Kanal fehlschlägt. Sie können das tun, indem Sie sich die misconfigured Spalte
Dann gehen Sie zum fehlenden Kanal und klicken Sie auf Bundle numberDies sollte Sie zur Bundle-Seite bringen.
Locate failing channel Minimal update version Einmal dort füllen Sie das Feld. Dies sollte ein.
Wenn der Wert, den Sie übergeben, kein semver ist, erhalten Sie einen Fehler, aber wenn alles korrekt verläuft, sollten Sie etwas wie das sehen:
Jetzt wollen Sie wahrscheinlich nicht jede Zeit diese Daten manuell setzen. Glücklicherweise wird der CLI verhindern, dass Sie ein Update ohne diese Metadaten senden
Um ein Bundle korrekt hochzuladen, wenn Sie die Option verwenden, müssen Sie den metadata mit einem gültigen semver übergeben. Etwas wie das: --min-update-version __CAPGO_KEEP_0__-Hochladen mit Metadaten
ist nicht der EINZIGE Weg, Kompatibilität zu erreichen.
Es gibt auch den --min-update-version Hier ist, wie es funktioniert. --auto-min-update-versionZuerst überprüft es die aktuell hochgeladene Version im Kanal. Es überprüft die Kompatibilität genauso wie
Zuerst überprüft es die aktuell hochgeladene Version im Kanal. Es überprüft die Kompatibilität genauso wie bundle compatibility Kommando würde.
Zweitens, wenn die neue Version 100% kompatibel ist, wird die min_update_version aus der neuesten Version im Kanal.
Wenn nicht, dann setzt es die min_update_version auf die Bundle-Nummer der neu hochgeladenen Version.
Sie erhalten immer eine Information, was die
wenn Sie diese Option verwenden. Es wird etwas wie folgendes aussehen: min_update_version Mindestupdateversion
Mindestupdateversion nicht kompatibel
Abschnitt mit dem Titel „End-to-End-Verschlüsselung (Vertrauenswürdig)“
__CAPGO_KEEP_0__ unterstützt die End-to-End-Verschlüsselung, was bedeutet, dass Ihr Bundle (__CAPGO_KEEP_1__) vor dem Senden an den Cloud-Server verschlüsselt wird und auf dem Gerät entschlüsselt wird. Dazu müssen Sie ein RSA-Schlüsselpaar generieren, Sie können den folgenden Befehl verwenden, um es zu generieren.Capgo supports end-to-end encryption, this means that your bundle(code) is encrypted before sent to the cloud and decrypted on the device. For that, you need to generate an RSA key pair, you can use the following command to generate it.
Mindestupdateversion
Siehe unten für weitere Informationen zum Verschlüsselungs-System.
Verschlüsselungsschema
Erstelle eine Schlüssel für deine App
Abschnitt mit dem Titel “Erstelle eine Schlüssel für deine App”npx @capgo/cli key create
Optional kannst du angeben: --force __CAPGO_KEEP_0__
Um die bestehende Schlüssel zu überschreiben. Diese Anweisung erstellt für dich ein Schlüsselpaar in deiner App und fragt dich nach dem Speichern der privaten Schlüssel an einem sicheren Ort. Es wird empfohlen, den privaten Schlüssel nicht in Git zu committen und ihn nicht mit anderen zu teilen.
key save
Nach deiner lokalen Testphase entferne die Schlüssel aus der Konfigurationsdatei und füge sie auf der CI-Schritt hinzu mit
Speichere Schlüssel in deiner App-Konfigurationnpx @capgo/cli key save
Abschnitt mit dem Titel “Speichere Schlüssel in deiner App-Konfiguration”
--key [/path/to/my/public_key] Optional kannst du angeben:
--key-data [publicKey] die öffentliche Schlüsseldaten, wenn Sie inline verwenden möchten. Diese Befehl ist nützlich, wenn Sie die Empfehlung befolgt haben und die Schlüssel nicht in Ihrer Anwendungs-Konfiguration committet haben.
CI-Integration
Abschnitt: CI-IntegrationUm Ihre Arbeit zu automatisieren, empfehle ich Ihnen, dass die GitHub-Aktion die Arbeit des Hochladens auf unseren Server übernimmt
Unser Demo-App
Abschnitt: Unser Demo-AppBeachten Sie nicht, dass Sie die CI-Umgebungsvariable mit Ihrem API-Schlüssel konfigurieren müssen