Custom Storage
Einen Setup-Prompt mit den Installations-Schritten und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
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.
Benutzerdefinierte Speicherung in Capgo funktioniert, indem Sie Ihr Bundle an eine externe Stelle hochladen und Capgo die URL mitteilen, über die es abgerufen werden kann. Die Capgo SDK laden dann Updates direkt aus Ihrer benutzerdefinierten Speichereinrichtung und nicht aus Capgo’s Standard-Cloud-Speicher.
Externes URL-Upload
Abschnitt mit dem Titel “Externes URL-Upload”Der einfachste Weg, um benutzerdefinierte Speicher zu verwenden, besteht darin, Ihr Bundle an jede öffentlich zugängliche URL hochzuladen und diese URL Capgo bereitzustellen.
Grundlegender externes URL-Upload
Abschnitt mit dem Titel “Grundlegender externes URL-Upload”npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipDiese Kommandozeilenanweisung sagt Capgo, dass die Bundle an der angegebenen URL verwiesen werden soll und nicht auf Capgo’s Cloud-Speicher hochgeladen werden soll.
Mit Verschlüsselung
Abschnitt mit dem Titel “Mit Verschlüsselung”Für sichere externe Speicherung können Sie Ihren 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 bietet integrierte Unterstützung für Amazon S3 und S3-kompatible Speicherdienste. CLI kann Ihren Bundle automatisch auf S3 hochladen und Capgo konfigurieren, um die S3-URL zu verwenden.
S3-Upload-Optionen
Abschnitt mit dem Titel “S3-Upload-Optionen”npx @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-nameVollständige S3-Konfiguration
Abschnitt mit dem Titel “S3-Konfiguration abschließen”Für S3-kompatible Dienste oder benutzerdefinierte Endpunkte:
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 SSLS3-Konfigurationsparameter
Abschnitt mit dem Titel “S3-Konfigurationsparameter”| Parameter | Beschreibung | Erforderlich |
|---|---|---|
--s3-region | AWS-Region für Ihren S3-Bucket | Ja |
--s3-apikey | S3-Zugriffsschlüssel-ID | Ja |
--s3-apisecret | __CAPGO_KEEP_0__ | Ja |
--s3-bucket-name | __CAPGO_KEEP_1__ | Ja |
--s3-endpoint | __CAPGO_KEEP_2__ | Nein |
--s3-port | __CAPGO_KEEP_3__ | Nein |
--no-s3-ssl | __CAPGO_KEEP_4__ | Nein |
Wenn Sie benutzerdefinierte Speicher verwenden, insbesondere mit Verschlüsselung, müssen Sie Ihre Bundel ordnungsgemäß vorbereiten. Dazu gehört die Erstellung eines Zip-Dateis und gegebenenfalls die Verschlüsselung.
Schritt 1: Erstellen Sie ein Zip-Bundle
Abschnitt mit dem Titel “Schritt 1: Erstellen Sie ein Zip-Bundle”Erstellen Sie zunächst ein Zip-Datei Ihres App-Bundles:
npx @capgo/cli@latest bundle zip com.example.app --path ./distDie Zip-Kommandozeile gibt den Prüfsummenwert der Zip-Datei aus. Sie können diese Prüfsumme verwenden, um die 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 die Zip-Kommandozeile
Abschnitt mit dem Titel “Optionen für die Zip-Kommandozeile”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 ausgeben (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: Verschlüsselung des Bundles (Optional)
Abschnitt mit dem Titel „Schritt 2: Verschlüsselung des Bundles (Optional)“Für eine erhöhte Sicherheit, verschlüsseln Sie Ihr Zip-Bündel, bevor Sie es 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 Parameter ist erforderlich und sollte der Prüfsumme Ihres Zip-Dateis sein. Sie können die Prüfsumme aus der Ausgabe des zip-Befehls (mit der Option für strukturierte Ausgabe) erhalten. --json Mit der Option
oder --key Die verschlüsselte Datei wird benötigt, um sie hochzuladen oder zu entschlüsseln. --key-data Verschlüsselungsbefehls-Optionen
Sie können die Prüfsumme aus der Ausgabe des zip-Befehls (mit der Option für strukturierte Ausgabe) erhalten. ivSessionKey Mit der Option
| Option | Beschreibung |
|---|---|
zipPath | Pfad zum zip-Datei zum Verschlüsseln (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 Signierungsdaten direkt (optional) |
--json | Ergebnisse in JSON-Format ausgeben |
Vollständiges Workflow-Beispiel
Abschnitt mit dem Titel „Vollständiges Workflow-Beispiel“Beispiel 1: Außenliegende URL mit Verschlüsselung
Abschnitt mit dem Titel „Beispiel 1: Außenliegende URL mit Verschlüsselung“-
Ihre App erstellen:
Terminal-Fenster npm run build -
Eine Zip-Bundle erstellen:
Terminal-Fenster npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3Beachten Sie den von diesem Befehl zurückgegebenen Checksummenwert.
-
Das Bundle verschlüsseln:
Terminalfenster npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2Beachten Sie
ivSessionKeyaus der Ausgabe. -
Hochladen in Ihren Speicher: Das verschlüsselte Zip-Datei hochladen Sie in Ihr Hosting-Dienst.
-
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“-
Erstellen und als Zip archivieren:
Terminalfenster npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Das Bundle verschlüsseln:
Terminalfenster npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
Mit Verschlüsselung 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 \--iv-session-key IV_SESSION_KEY_FROM_STEP_2 \--channel Production
Sicherheitsüberlegungen
Abschnitt mit dem Titel „Sicherheitsüberlegungen“Wenn Sie benutzerdefinierte Speicher verwenden, sollten Sie diese Sicherheitshinweise beachten:
Zugriffssteuerung
Abschnitt mit dem Titel „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-Kopfzeilen für webbasierte Anwendungen
Verschlüsselung
Abschnitt mit dem Titel „Verschlüsselung“- Verschlüsseln Sie immer sensible Pakete mit den Capgo-Verschlüsselungstools
- Speichern Sie Verschlüsselungsschlüssel sicher und rotieren Sie sie regelmäßig
- Verwenden Sie HTTPS für alle Paket-URLs (erforderlich für mobile und Electron-Anwendungen)
Überwachung
Abschnitt mit dem Titel „Überwachung“- Überwachen Sie Zugriffsprotokolle, um ungewöhnliche Herunterlademuster zu erkennen
- Konfigurieren Sie Benachrichtigungen für fehlgeschlagene Paket-Downloads
- Überprüfen Sie Ihre Speicherberechtigungen regelmäßig
Fehlersuche
Abschnitt mit dem Titel „Fehlersuche“Häufige Probleme
Abschnitt mit dem Titel „Häufige Probleme“Bundle 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, ob
ivSessionKeysich mit dem verschlüsselten Bundle übereinstimmt - Überprüfen Sie, ob das Bundle mit der richtigen Schlüssel verschlüsselt wurde
- Stellen Sie sicher, dass Verschlüsselung v2 für neue Bundle verwendet wird
S3-Upload-Fehler:
- Überprüfen Sie Ihre S3-Zugriffsdaten und -berechtigungen
- Überprüfen Sie die Bucket-Politik und die CORS-Konfiguration
- Stellen Sie sicher, dass die angegebene Region korrekt ist
Debug-Befehle
Abschnitt „Debug-Befehle“Überprüfen Sie den Status des Bundles:
npx @capgo/cli@latest app debugÜberprüfen Sie die Integrität des Bundles:
npx @capgo/cli@latest bundle listWeitere Schritte
Abschnitt mit dem Titel „Weitere Schritte”- Erfahren Sie mehr über Kanäle um verschiedene Bereitstellungsumgebungen zu verwalten
- Erkunden Sie Aktualisierungsverhalten anpassen um die Anwendung von Updates anzupassen
- Einrichten Sie CI/CD-Integration um Ihre benutzerdefinierte Speicherablaufautomatisieren
Fortsetzen Sie bei Custom Storage
Abschnitt mit dem Titel “Weitermachen von Custom Storage”Wenn Sie " Custom Storage" zum Planen von Sicherheit und Compliance verwenden, verbinden Sie es mit " Encryption" für die Implementierungsdetails in Encryption, " Compliance" für die Implementierungsdetails in Compliance, " 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 im Capgo Vertrauenszentrum.