Commands
Eine Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Verwendung
Abschnitt mit dem Titel „Verwendung“Alle Befehle sollten in Ihrem App-Ordner ausgeführt werden, mit capacitor Projekt angesteckt.
Initialisierung
Abschnitt mit dem Titel „Initialisierung“npx @capgo/cli@latest init [apikey]
Diese Methode dient dazu, Sie Schritt für Schritt einzuführen.
It will add your app to Capgo. It will add the code to your app to validate the update. Likewise, it will build your app. Furthermore, it will upload your app to Capgo. And it will help you to check if the update works.
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 es im Git.
npx @capgo/cli doctor
Befehl zur Überprüfung, ob Sie mit den Capgo Paketen auf dem neuesten Stand sind.
Dieser Befehl wird auch für die Fehlerberichterstattung nützlich sein.
Hinzufügen
Abschnitt mit dem Titel „Hinzufügen“npx @capgo/cli app add [appId]
[appId] Ihre App-ID im Format com.test.app wird hier erklärt. 💡 Alle Optionen werden in Ihrer Konfiguration erraten, wenn nicht angegeben..
Optional können Sie Folgendes angeben:
um eine benutzerdefinierte App-Icon 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 is explained here--apikey [key]API-Schlüssel zum Link auf Ihr Konto.--retention [retention]Rückhaltezeitraum 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"}npx @capgo/cli app set [appId]
[appId] Optional können Sie geben: um eine benutzerdefinierte Icon-Anzeige in der __CAPGO_KEEP_0__-Web-Anwendung zu haben..
um eine benutzerdefinierte Bezeichnung in der Liste zu haben.
--icon [/path/to/my/icon]to have a custom icon display in Capgo web app.--name [test]for appId and AppName, the icon is guess in the resources folder--retention [retention]Rückhaltezeit des App-Bundles in Tagen, 0 durch Voreinstellung = unendlich.--apikey [key]API-Schlüssel zur Verknüpfung mit Ihrem Konto.
npx @capgo/cli app list [appId]
[appId] Ihre App-ID in der Formatierung com.test.app erläutert hier.
Optional können Sie angeben:
--apikey [key]API-Schlüssel zur Verknüpfung mit Ihrem Konto.
npx @capgo/cli app delete [appId]
[appId] Ihre App-ID in der Formatierung com.test.app erklärt hier.
Optionell können Sie 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 erklärt hier.
Optionell können Sie geben:
--apikey [key]API-Schlüssel, um auf Ihr Konto zu verlinken.--devicemit dem spezifischen Gerät, das Sie debuggen möchten
Einstellungen
Abschnitt mit dem Titel „Einstellungen“npx @capgo/cli app setting [path]
Die Capacitor-Konfiguration bearbeiten.
[path] - Pfad der Einstellung, die Sie ändern möchten. Zum Beispiel, um die appId, bereitstellen appId.
Wenn Sie die automatische Aktualisierung deaktivieren möchten in dem capacitor-updater, bereitstellen plugins.CapacitorUpdater.autoUpdate mit --string off.
Sie MÜSSEN entweder --string oder --bool!
Optionen:
--string <string>- setzt die Einstellung auf einen String--bool <true | false>- setzt die Einstellung auf einen boolean
npx @capgo/cli bundle upload [appId]
[appId] ist Ihre App-ID, die Formatierung wird erklärt hier.
Optional können Sie geben:
--apikey <apikey>API-Schlüssel, um auf Ihr Konto zu verlinken.--path <path>Pfad des Ordners zum Hochladen.--channel <channel>Kanal, um sich zu verlinken.--external <url>Link to external URL instead of uploading to Capgo Cloud.--iv-session-key <key>IV und Sitzungsschlüssel für Bundle-URL extern setzen.--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-sslSSL für S3-Upload deaktivieren.--key <key>Benutzerdefinierte Pfad für öffentliche Signierungskey (v1-System).--key-data <keyData>Öffentlicher Signierungskey (v1-System).--key-v2 <key>Benutzerdefinierter Pfad für privaten Signierungskey (v2-System).--key-data-v2 <keyData>Privater Signierungskey (v2-System).--bundle-urlBundeldatei-URL in die Konsole ausgibt.--no-keyÜbersende Update ohne Signierungskey.--no-code-checkÜbersieht die Überprüfung, ob notifyAppReady() in der Quelldatei code und im Index im Root-Ordner aufgerufen wurde.--display-iv-sessionIV und Sitzungskey im Konsole aus, die zum Verschlüsseln des Updates verwendet werden.--bundle <bundle>Version der zu hochladenden Bundeldatei.--min-update-version <minUpdateVersion>Minimal erforderliche Version, um auf diese Version zu aktualisieren. Wird nur verwendet, wenn die automatische Aktualisierung auf der Basis der Kanal-Metadaten deaktiviert ist.--auto-min-update-versionSetzt die Mindestaktualisierungsversion basierend auf native Paketen.--ignore-metadata-checkÜbersieht die Überprüfung der Metadaten (node_modules) bei der Hochladung.--ignore-checksum-checkÜbersieht die Prüfung der Prüfsumme bei der Hochladung.--timeout <timeout>Zeitüberschreitung für den Upload-Prozess in Sekunden.--deltaHochlädt Delta-Dateien (Manifest) neben der vollständigen Bundeldatei.--delta-onlyUploads nur Delta (manifest)-Updates, wobei die volle Bundle-Datei ausgelassen wird.--no-deltaDeaktiviert die Delta (manifest)-Uploads (nützlich, wenn ein Instant-Apply-Modus aktiviert ist, aber ein volles Bundle gewünscht wird).autoUpdateUploadt das Bundle mithilfe des tus-Protokolls.--tusVerwendet das multipart-Protokoll, um Daten an S3 hochzuladen, veraltet, verwenden Sie stattdessen TUS.--multipartEine verschlüsselte Prüfsumme (Signatur). Wird nur verwendet, wenn ein externes Bundle hochgeladen wird.--encrypted-checksum <encryptedChecksum>Eine Pfade zu package.json. Nützlich für monorepos.--package-json <packageJson>Setze das Bundle in __CAPGO_KEEP_0__.config.json.--auto-set-bundleSet the bundle in capacitor.config.json.--node-modules <nodeModules>⭐️ Die externe Option hilft dabei, zwei Fälle zu lösen: Unternehmen mit Datenschutzbedenken, senden Sie nicht das __CAPGO_KEEP_0__ an einen Dritten und Apps größer als 200 MB. Mit dieser Einstellung speichert __CAPGO_KEEP_1__ nur den Link zum Zip und sendet den Link an alle Apps.
👀 Das code-Cloud-System sieht nie, was in dem Link (bei externer Option) oder im Capgo gespeichert ist.
👀 Capgo cloud never looks at what is in the link (for external option), or in the code when stored.
External option helps to unlock 2 cases: corporate with privacy concern, don’t send the Capgo to a third part and app bigger than 200 MB. With this setting, __CAPGO_KEEP_1__ store only the link to the zip and sends the link to all apps.
Beispiel für 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 wird hier erklärt Optional können Sie geben:.
__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 Format com.test.app erklärt wird hier.
Sie können optional angeben:
--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 Format com.test.app wird erklärt hier.
Optionell können Sie folgendes 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 entfernen Sie 10.0.1 bis 10.0.6. 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 entfernen Sie 18 Versionen und behalten die letzten 2.
Diese Anweisung wird nach Bestätigung gefragt, sie zeigt eine Tabelle an, was behalten und entfernt wird.
Verschlüsseln
Abschnitt mit dem Titel “Verschlüsseln”Warnung: Diese Kommandozeilenanweisung 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]
Dieses Kommando wird verwendet, wenn Sie externe Quellen verwenden, um Ihre code zu speichern oder für Testzwecke.
Optional können Sie angeben:
--key [/path/to/my/private_key] den Pfad Ihres privaten Schlüssels.
--key-data [privateKey] die private Schlüsseldaten, wenn Sie inline verwenden möchten.
Das Kommando wird Ihre ivSessionKeyy und generiert ein verschlüsseltes Zip, um es mit dem Upload-Kommando oder dem Entschlüsselungskommando zu verwenden.
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 einen externen Speicherort verwenden, um Ihre code zu speichern oder für Testzwecke.
Der Prüfsummenwert ist der sha256-Wert des Bundles (erzeugt durch —key-v2), er wird verwendet, um die Integrität des Dateis nach der Entschlüsselung zu überprüfen.
--key [/path/to/my/private_key] Es wird mit dem privaten Schlüssel verschlüsselt und zusammen mit dem Bundle gesendet.
--key-data [privateKey] Bei der Verschlüsselung V2 wird der Prüfsummenwert auf ein „Zeichen“ des Bundles aufgewertet.
--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.npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]
Der Befehl wird Ihre
--key [/path/to/my/private_key] y und generiert ein verschlüsseltes Zip, das Sie mit dem Upload-Befehl oder dem Entschlüsselungsbefehl verwenden können.
--key-data [privateKey] Entschlüsseln
Verschlüsselung V2
Abschnitt mit dem Titel “Verschlüsselung V2”npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]
Optional können Sie geben:
--key [/path/to/my/private_key] den Pfad Ihres privaten Schlüssels.
--key-data [privateKey] die private Schlüsseldaten, wenn Sie inline verwenden möchten. Diese Anweisung wird hauptsächlich für Testzwecke verwendet, sie wird die Zip entschlüsseln und das Base64-entschlüsselte Sitzungsschlüssel in der Konsole ausgeben.
--checksum [checksum] die Prüfsumme des Dateis, sie wird die Prüfsumme nach der Entschlüsselung überprüfen.
npx @capgo/cli bundle zip [appId]
[appId] Ist Ihr App-ID, die Format wird erklärt hier.
Optional können Sie geben:
--path [/path/to/my/bundle]um ein bestimmtes Verzeichnis hochzuladen.--bundle [1.0.0]um die Versionsnummer des Bundle im Dateinamen zu setzen.--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 Formatierung 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.--textVerwenden Sie Text anstatt Emojis in der Tabelle.--channel [channel]Der Kanal, um die Kompatibilität zu überprüfen.--package-json <packageJson>Eine Pfade 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] Der Name Ihres neuen Kanals. [appId] Die ID Ihres Apps im Format com.test.app erläutert 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 erläutert hier.
npx @capgo/cli channel list [appId]
[appId] Ihre App-ID in der Formatierung com.test.app erläutert hier.
Optional können Sie folgende Angaben machen:
--apikey [key]Schlüssel API zum Linken auf Ihr Konto.
Einstellung
Abschnitt mit dem Titel „Einstellung“npx @capgo/cli channel set [channelId] [appId]
[appId] ist Ihre App-ID, die Formatierung wird erklärt hier.
Optional können Sie geben:
--bundle [1.2.3]Ihr App-Bundle, das bereits an den Cloud gesendet wurde, um es einer Kanal zuzuordnen.--latestdie Versionsnummer des Bundles abrufen,package.json:versionkann nicht mit--bundle.--state [ normal | default ]die Kanalzustand setzen, kann auchnormaloderdefault. Ein Kanal muss verwendet werdendefault.--downgradeerlaubt dem Kanal, eine Downgrade-Version an Geräte zu senden.--no-downgradeverhindert dem Kanal, eine Downgrade-Version an Geräte zu senden.--upgradeerlaubt dem Kanal, eine Upgrade-(Haupt)-Version an Geräte zu senden.--no-upgradeverhindert dem Kanal, eine Upgrade-(Haupt)-Version an Geräte zu senden.--ioserlaubt dem Kanal, eine Version an iOS-Geräte zu senden.--no-iosverhindert dem Kanal, eine Version an iOS-Geräte zu senden.--androiderlaubt dem Kanal, eine Version an Android-Geräte zu senden.--no-androidverhindert dem Kanal, eine Version an Android-Geräte 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.
Disable updates strategy
Abschalten der Updates-StrategieEs 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 einige Möglichkeiten, das zu erreichen.
Zuerst ist die major Strategie. Sie verhindert ein Update von 0.0.0 -> 1.0.0. Die Hauptversion ist die hervorgehobene Zahl (1.0.0 und 0.0.0).
Zweitens ist die minor Strategie. Sie verhindert ein Update von 0.0.0 -> 1.1.0 oder ein Update von 1.1.0 zu 1.2.0.
Achtung Diese Strategie verhindert nicht, dass ein Update durchgeführt wird 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 ein Update akzeptieren zu können, müssen die folgenden Bedingungen erfüllt sein:
- Die Hauptversion ist zwischen der neuen und der alten Version gleich
- Die Minor-Version 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 das Update zugelassen oder abgelehnt wird metadata Zuletzt die am schwierigsten Strategie. Die
Strategie. Zuerst müssen Sie wissen, dass die Updates anfangs nachdem Sie sie aktivieren, nicht funktionieren werden als der Kanal die erforderliche Metadaten fehlt.
Wenn der Kanal Metadaten fehlt, sehen Sie eine Nachricht wie diese:
Wenn Sie etwas wie dies sehen, wissen Sie, dass Sie zum aktuellen Bundle für den fehlenden Kanal gehen und die Metadaten einrichten müssen.
Zuerst müssen Sie herausfinden, welcher Kanal fehlschlägt. Sie können das tun, indem Sie auf die misconfigured Spalte
Dann gehen Sie zum fehlenden Kanal und klicken auf Bundle numberDies sollte Sie zur Bundle-Seite bringen.
Locate failing channel Minimal update version Einmal dort füllen Sie das Feld. Dies sollte eine semver.
Wenn der Wert, den Sie übergeben, kein semver ist, erhalten Sie einen Fehler, aber wenn alles korrekt verläuft, sollten Sie etwas wie das folgende sehen:
Jetzt wollen Sie wahrscheinlich nicht jede Zeit diese Daten manuell setzen. Glücklicherweise wird der CLI verhindern, dass Sie eine Aktualisierung ohne diese Metadaten versenden
Um ein Bundle korrekt hochzuladen, wenn Sie die Option verwenden, müssen Sie den metadata mit dem --min-update-version gültigen semver angeben. Etwas wie das folgende:__CAPGO_KEEP_0__-Hochladen mit Metadaten
Die --min-update-version ist nicht der EINZIGE Weg, die Kompatibilität zu gewährleisten.
Es gibt auch die --auto-min-update-version. Hier ist, wie es funktioniert.
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, verwendet es 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
wird, wenn Sie diese Option verwenden. Es wird wie folgt aussehen: min_update_version Mindestaktualisierungsversion
Mindestaktualisierungsversion nicht kompatibel
Mindestaktualisierungsversion
Abschnitt mit dem Titel “End-to-End-Verschlüsselung (Vertrauenswürdigkeit)”Capgo unterstützt die End-to-End-Verschlüsselung, was bedeutet, dass Ihr Bundle (code) 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.
Das Verschlüsselungssystem ist eine Combination aus RSA und AES, der RSA-Schlüssel wird verwendet, um den AES-Schlüssel zu verschlüsseln, und der AES-Schlüssel wird verwendet, um das Datei zu verschlüsseln.
Siehe unten für weitere Informationen zum Verschlüsselungssystem.
Verschlüsselungsschema
Schlüssel für Ihre App erstellen
Abschnitt mit dem Titel “Schlüssel für Ihre App erstellen”npx @capgo/cli key create
Optional können Sie angeben: --force um das bestehende Schlüsselpaar zu überschreiben. Dieser Befehl wird für Sie ein Schlüsselpaar in Ihrer App erstellen und Sie werden aufgefordert, den privaten Schlüssel an einem sicheren Ort zu speichern. Es wird empfohlen, den privaten Schlüssel nicht in Git zu committen und ihn nicht mit anderen zu teilen.
Nach Ihrer lokalen Testphase entfernen Sie den Schlüssel aus der Konfigurationsdatei und fügen Sie ihn im CI-Schritt ein mit
key save
Schlüssel in der App-Konfiguration speichern
Abschnitt mit dem Titel ‘Sicherheitschlüssel in Ihrer App-Konfiguration speichern’npx @capgo/cli key save
Optional können Sie Folgendes angeben:
--key [/path/to/my/public_key] den Pfad Ihres öffentlichen Schlüssel-Dateis.
--key-data [publicKey] die öffentliche Schlüssel-Daten, wenn Sie inline verwenden möchten. Diese Anweisung ist nützlich, wenn Sie der Empfehlung gefolgt sind und den Schlüssel nicht in Ihrer App-Konfiguration committet haben.
CI-Integration
Abschnitt mit dem Titel ‘CI-Integration’Um Ihre Arbeit zu automatisieren, empfehle ich Ihnen, dass die GitHub-Aktion die Arbeit übernimmt, Ihre Daten auf unseren Server zu pushen
Unser Demo-App
Abschnitt mit dem Titel ‘Unser Demo-App’Vergessen Sie nicht, die CI-Umgebungsvariable mit Ihrem API-Schlüssel zu konfigurieren
Weitermachen von Commands
Abschnitt mit dem Titel “Weitermachen von Commands”Wenn Sie Commands verwenden Commands um das Dashboard und die API-Operationen zu planen, verbinden Sie es mit API-Übersicht zur Implementierungsdetail in API-Übersicht Einführung zur Implementierungsdetail in Einführung API-Schlüssel zur Implementierungsdetail in API-Schlüssel Geräte für die Implementierungsdetails in Geräten und Bundles für die Implementierungsdetails in Bundles. Bearbeiten-Seite