Custom Storage
Kopieren Sie eine Einrichtungsanweisung mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin.
Capgo unterstützt benutzerdefinierte Speichersysteme für Ihre App-Bundles, sodass Sie Ihre Updates auf Ihrer eigenen Infrastruktur oder auf Diensten Dritter hosten können. Dies ist insbesondere nützlich für Organisationen mit spezifischen Sicherheitsanforderungen, Compliance-Anforderungen oder bestehender Speichereinrichtungen.
Übersicht
ÜbersichtCustom storage in Capgo works by uploading your bundle to an external location and providing Capgo with the URL to access it. The Capgo SDK will then download updates directly from your custom storage location instead of Capgo’s default cloud storage.
Kostenoptimierung für große Bundle-Größen
Benutzerdefinierte URL-HochladenCapgo-Sektion: Benutzerdefinierte URL-Hochladen
Grundlegende externe URL-Upload
Abschnitt mit dem Titel „Grundlegende externe URL-Upload”npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipDiese Kommando sagt Capgo, anstatt das Bundle auf Capgo’s Cloudspeicher hochzuladen, soll sich auf das Bundle an der angegebenen URL beziehen.
Mit Verschlüsselung
Abschnitt mit dem Titel „Mit Verschlüsselung”Für sicheres externes Speicher, können Sie Ihr Bundle verschlüsseln und die Entschlüsselungsschlüssel bereitstellen:
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEYS3-Integration
Abschnitt mit dem Titel „S3-Integration”Capgo provides built-in support for Amazon S3 and S3-compatible storage services. The CLI can automatically upload your bundle to S3 and configure Capgo to use the S3 URL.
__CAPGO_KEEP_1__ kann Ihre Bundle automatisch auf S3 hochladen und __CAPGO_KEEP_2__ konfigurieren, um die S3-URL zu verwenden.
S3-Upload-Optionennpx @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-nameIn die Zwischenablage kopieren
Vollständige S3-KonfigurationAbschnitt mit dem Titel „Vollständige S3-Konfiguration“
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 SSLIn die Zwischenablage kopieren
S3-Konfigurationsparameter| Parameter | Beschreibung | Erforderlich |
|---|---|---|
--s3-region | __CAPGO_KEEP_0__ für Ihren S3-Bucket | Ja |
--s3-apikey | __CAPGO_KEEP_0__-S3-Zugriffsschlüssel-ID | Ja |
--s3-apisecret | __CAPGO_KEEP_0__-S3-Schlüssel | Ja |
--s3-bucket-name | Name Ihres S3-Buckets | Ja |
--s3-endpoint | Benutzerdefinierter S3-Endpunkt-URL | Nein |
--s3-port | Port für S3-Endpunkt | Nein |
--no-s3-ssl | SSL für S3-Upload deaktivieren | Nein |
Vorbereitung und Verschlüsselung von Bundeln
Abschnitt mit dem Titel „Vorbereitung und Verschlüsselung von Bundeln“Wenn Sie eine benutzerdefinierte Speicherung verwenden, insbesondere mit Verschlüsselung, müssen Sie Ihre Bundel ordnungsgemäß vorbereiten. Dazu gehört die Erstellung eines Zip-Datei und optional deren Verschlüsselung.
Schritt 1: Erstellen Sie ein Zip-Bundle
Abschnitt mit dem Titel „Schritt 1: Erstellen Sie ein Zip-Bundle“Erstellen Sie zunächst eine Zip-Datei Ihres App-Bundles:
npx @capgo/cli@latest bundle zip com.example.app --path ./distDie Kommandozeile wird den Prüfsummenwert des Zip-Dateis zurückgeben. Sie können diese Prüfsumme verwenden, um das Zip-Datei zu verschlüsseln, wenn erforderlich. Verwenden Sie die --json Option, um eine strukturierte Ausgabe einschließlich der Prüfsumme zu erhalten.
Optionen für das Zip-Kommando
Abschnitt mit dem Titel “Optionen für das Zip-Kommando”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| Option | Beschreibung |
|---|---|
--path | Pfad zum Ordner, der komprimiert werden soll (Standardwert: webDir aus capacitor.config) |
--bundle | Bundle-Version-Nummer zur Namensgebung des Zip-Dateis |
--name | Benutzerdefinierter Name für das Zip-Datei |
--json | Ergebnisse in JSON-Format (enthält Prüfsumme) |
--no-code-check | Überprüfung der notifyAppReady()-Aufruf und Indexdatei auslassen |
--key-v2 | Verschlüsselung v2 verwenden |
--package-json | Pfade zu package.json-Dateien für Monorepos (getrennt durch Komma) |
Schritt 2: Das Bundle verschlüsseln (Optional)
Schritt 2: Das Bundle verschlüsseln (Optional)Für eine erhöhte Sicherheit verschlüsseln Sie Ihr Zip-Bundle vor dem Hochladen:
# 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"Der CHECKSUM ist erforderlich und sollte die Prüfsumme Ihres Zip-Datei sein. Sie können die Prüfsumme aus der Ausgabe der zip-Kommandozeile (verwenden Sie --json Option für strukturierte Ausgabe)
Standardmäßig wird der Verschlüsselungsbefehl Ihre lokale private Signierungsdatei verwenden. Sie können eine benutzerdefinierte Datei mithilfe der --key oder --key-data Optionen.
Der Verschlüsselungsbefehl gibt die ivSessionKey zurück, die zum Hochladen oder zur Entschlüsselung erforderlich sind.
Verschlüsselungsbefehls-Optionen
Abschnitt mit dem Titel “Verschlüsselungsbefehls-Optionen”| Option | Beschreibung |
|---|---|
zipPath | Pfad zur zip-Datei, die verschlüsselt werden soll (erforderlich) |
checksum | Prüfsumme der zip-Datei (erforderlich) - erhalten Sie sie mit dem zip-Befehl |
--key | Benutzerdefinierter Pfad für die private Signierungsdatei (optional, verwendet lokale Datei standardmäßig) |
--key-data | Private Schlüsseldaten direkt (optional) |
--json | Ergebnisse in JSON-Format ausgeben |
Vollständige Workflow-Beispiele
Abschnitt mit dem Titel “Vollständige Workflow-Beispiele”Beispiel 1: Externer URL mit Verschlüsselung
Abschnitt mit dem Titel “Beispiel 1: Externer URL mit Verschlüsselung”-
Ihre App erstellen:
Terminalfenster npm run build -
Erstelle einen Zip-Bundle:
Terminalfenster npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3Beachten Sie den von diesem Befehl zurückgegebenen Prüfsummenwert.
-
Verschlüssle das Bundle:
Terminalfenster npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2Beachten Sie den
ivSessionKeyaus der Ausgabe. -
Hochladen auf Ihr Speicher: Laden Sie das verschlüsselte Zip-Datei auf Ihrem Hosting-Dienst hoch.
-
Registrieren Sie sich bei Capgo:
Terminalfenster 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
Beispiel 2: Direkter S3-Upload
Abschnitt mit dem Titel “Beispiel 2: Direkter S3-Upload”-
Ihre App erstellen:
Terminalfenster npm run build -
Direkt auf S3 hochladen:
Terminalfenster 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
Beispiel 3: S3 mit Verschlüsselung
Abschnitt mit dem Titel „Beispiel 3: S3 mit Verschlüsselung“-
Bauen und komprimieren:
Terminal-Fenster npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Das Bundle verschlüsseln:
Terminal-Fenster npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
Mit Verschlüsselung auf S3 hochladen:
Terminal-Fenster 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
Sicherheitsüberlegungen
SicherheitsüberlegungenWenn Sie benutzerdefinierte Speicher verwenden, beachten Sie diese Sicherheitshinweise:
Zugriffssteuerung
Stellen Sie sicher, dass Ihre Speicher-URLs für Ihre App-Benutzer zugänglich sind, aber nicht öffentlich auffindbar sind- Verwenden Sie bei Bedarf signierte URLs oder Token-basierte Authentifizierung
- Implementieren Sie korrekte CORS-Header für webbasierte Apps
- Verschlüsselung
Verschlüsseln Sie immer sensible Pakete mit den __CAPGO_KEEP_0__-Verschlüsselungstools
Speichern Sie Verschlüsselungsschlüssel sicher und rotieren Sie sie regelmäßig- Always encrypt sensitive bundles using the Capgo encryption tools
- Zugriffssteuerung
- Sicherheitsüberlegungen
Überwachung
Abschnitt: Überwachung- Überwachung der Zugriffsprotokolle, um ungewöhnliche Herunterlademuster zu erkennen
- Einrichten von Warnungen für fehlgeschlagene Bundle-Downloads
- Regelmäßige Überprüfung der Speicherberechtigungen
Fehlersuche
Abschnitt: FehlersucheHäufige Probleme
Abschnitt: Häufige ProblemeBundle wird nicht heruntergeladen:
- Überprüfen Sie, ob die URL öffentlich zugänglich und über HTTPS (erforderlich für mobile und Electron-Anwendungen) ist
- Überprüfen Sie die CORS-Kopfzeilen für Web-Anwendungen
- Stellen Sie sicher, dass die Bundle-Formatierung korrekt ist
Verschlüsselungsfehler:
- Überprüfen Sie das
ivSessionKeypasst zum verschlüsselten Bundle - Überprüfen Sie, ob das Bundle mit der richtigen Schlüssel verschlüsselt wurde
- Stellen Sie sicher, dass für neue Bundle die Verschlüsselung v2 verwendet wird
S3-Uploadfehler:
- Überprüfen Sie Ihre S3-Zugangsdaten und Berechtigungen
- Überprüfen Sie die Bucket-Politik und die CORS-Konfiguration
- Stellen Sie sicher, dass die angegebene Region korrekt ist
Debug-Befehle
Abschnitt mit dem Titel „Debug-Befehle“]Bündelstatus überprüfen:
npx @capgo/cli@latest app debugBündelintegrität überprüfen:
npx @capgo/cli@latest bundle listNächste Schritte
Abschnitt mit dem Titel „Nächste Schritte“- Mehr über Kanäle um verschiedene Bereitstellungsumgebungen zu verwalten
- Entdecken Updateverhalten um zu ändern, wie Updates angewendet werden
- Einstellungen CI/CD-Integration um Ihre benutzerdefinierte Speicherablaufautomatisieren
Fortsetzen von Custom Storage
Abschnitt mit dem Titel “Fortsetzen von Custom Storage”Wenn Sie Custom Storage verwenden Custom Storage um Sicherheit und Compliance zu planen, verbinden Sie es mit Verschlüsselung Verschlüsselung, für die Implementierungsdetails in Verschlüsselung, Konzformität für die Implementierungsdetails in Konzformität, Capgo Sicherheits-Scanner für den Produktworkflow in Capgo Sicherheits-Scanner, Capgo Sicherheit für den Produktworkflow in Capgo Sicherheit, und Capgo Vertrauenszentrum für den Produktworkflow in Capgo Vertrauenszentrum.