Eigener Speicher
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
Capgo unterstützt benutzerdefinierte Storage-Lösungen für deine App-Bundles. So kannst du deine Updates auf deiner eigenen Infrastruktur oder bei Drittanbietern hosten. Das ist besonders nützlich für Unternehmen mit speziellen Sicherheitsanforderungen, Compliance-Vorgaben oder bestehender Storage-Infrastruktur.
Übersicht
Abschnitt mit dem Titel „Übersicht“Custom Storage in Capgo funktioniert so, dass du dein Bundle an einen externen Ort hochlädst und Capgo die URL zum Zugriff bereitstellst. Der Capgo SDK lädt Updates dann direkt von deinem benutzerdefinierten Speicherort herunter, anstatt den Standard-Cloud-Speicher von Capgo zu nutzen.
Upload via externer URL
Abschnitt mit dem Titel „Upload via externer URL“Der einfachste Weg, Custom Storage zu nutzen, ist, dein Bundle auf eine öffentlich erreichbare URL hochzuladen und diese URL an Capgo zu übergeben.
Einfacher Upload via externer URL
Abschnitt mit dem Titel „Einfacher Upload via externer URL“npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipDieser Befehl weist Capgo an, auf das Bundle unter der angegebenen URL zu verweisen, anstatt es in den Cloud-Storage von Capgo hochzuladen.
Mit Verschlüsselung
Abschnitt mit dem Titel „Mit Verschlüsselung“Für sicheren externen Speicher kannst du dein Bundle verschlüsseln und die Entschlüsselungsschlüssel angeben:
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 integrierten Support für Amazon S3 und S3-kompatible Speicherdienste. Der CLI kann dein Bundle automatisch zu S3 hochladen und Capgo so konfigurieren, dass die S3-URL verwendet wird.
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-nameS3-Konfiguration abschließen
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 deinen S3-Bucket | Ja |
--s3-apikey | S3 Access Key ID | Ja |
--s3-apisecret | S3 Secret Access Key | Ja |
--s3-bucket-name | Name deines S3-Buckets | Ja |
--s3-endpoint | Eigene S3-Endpoint-URL | Nein |
--s3-port | Port für S3-Endpoint | Nein |
--no-s3-ssl | SSL für S3-Upload deaktivieren | Nein |
Bundle-Vorbereitung und Verschlüsselung
Abschnitt mit dem Titel „Bundle-Vorbereitung und Verschlüsselung“Bei der Verwendung von Custom Storage, insbesondere mit Verschlüsselung, müssen Sie Ihre Bundles korrekt vorbereiten. Dazu gehört das Erstellen einer Zip-Datei und optional deren Verschlüsselung.
Schritt 1: Ein Zip-Bundle erstellen
Abschnitt mit dem Titel „Schritt 1: Ein Zip-Bundle erstellen“Erstellen Sie zuerst eine Zip-Datei Ihres App-Bundles:
npx @capgo/cli@latest bundle zip com.example.app --path ./distDer zip-Befehl gibt den Checksum-Wert der Zip-Datei zurück. Diesen Checksum können Sie bei Bedarf verwenden, um die Zip-Datei zu verschlüsseln. Nutzen Sie die --json Option, um strukturierte Ausgaben inklusive des Checksums zu erhalten.
Optionen des Zip-Befehls
Abschnitt mit dem Titel „Optionen des Zip-Befehls“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 zu zippenden Ordner (Standardwert ist webDir aus capacitor.config) |
--bundle | Bundle-Versionsnummer für den Namen der ZIP-Datei |
--name | Benutzerdefinierter Name für die Zip-Datei |
--json | Ausgabe im JSON-Format (inkl. Checksumme) |
--no-code-check | Prüfung von notifyAppReady() und der Index-Datei überspringen |
--key-v2 | Verschlüsselung v2 verwenden |
--package-json | Pfade zu package.json-Dateien für Monorepos (kommagetrennt) |
Schritt 2: Bundle verschlüsseln (Optional)
Abschnitt: „Schritt 2: Bundle verschlüsseln (optional)“Für mehr Sicherheit verschlüssle dein Zip-Bundle vor dem Upload:
# 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 Der Parameter ist erforderlich und sollte der Checksumme deiner ZIP-Datei entsprechen. Die Checksumme kannst du aus der Ausgabe des zip-Befehls erhalten (verwende --json für eine strukturierte Ausgabe).
Standardmäßig verwendet der `encrypt`-Befehl deinen lokalen privaten Signing-Key. Du kannst einen benutzerdefinierten Key angeben, indem du den --key oder --key-data options.
Der encrypt-Befehl gibt den folgenden Wert zurück: ivSessionKey wird für den Upload oder die Entschlüsselung benötigt.
Optionen für den Verschlüsselungs-Befehl
Abschnitt mit dem Titel „Optionen für Verschlüsselungsbefehle“| Option | Beschreibung |
|---|---|
zipPath | Pfad zur zu verschlüsselnden Zip-Datei (erforderlich) |
checksum | Checksum der ZIP-Datei (erforderlich) – über den zip-Befehl ermitteln |
--key | Benutzerdefinierter Pfad für den privaten Signing-Key (optional, nutzt standardmäßig den lokalen Key) |
--key-data | Direkte Übergabe der privaten Signing-Key-Daten (optional) |
--json | Ausgabe der Ergebnisse im JSON-Format |
Vollständige Workflow-Beispiele
Abschnitt mit dem Titel „Vollständige Workflow-Beispiele“Beispiel 1: Externe URL mit Verschlüsselung
Abschnitt mit dem Titel „Beispiel 1: Externe URL mit Verschlüsselung“-
Erstelle deine App:
Terminalfenster npm run build -
Zip-Bundle erstellen:
Terminalfenster npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3Notiere dir den Checksum-Wert dieses Befehls.
-
Bundle verschlüsseln:
Terminalfenster npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2Notiere den
ivSessionKeyaus der Ausgabe. -
In deinen Storage hochladen: Lade die verschlüsselte ZIP-Datei in deinen Hosting-Service hoch.
-
Bei Capgo registrieren:
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: „Beispiel 2: Direkter S3-Upload“-
Erstelle deine App:
Terminalfenster npm run build -
Direkt zu 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: „Beispiel 3: S3 mit Verschlüsselung“-
Build und zippen:
Terminalfenster npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Bundle verschlüsseln:
Terminalfenster npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
Mit Verschlüsselung zu 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 \--iv-session-key IV_SESSION_KEY_FROM_STEP_2 \--channel Production
Sicherheitshinweise
Abschnitt mit dem Titel „Sicherheitshinweise“Beachte bei der Nutzung von Custom Storage diese Best Practices für die Sicherheit:
Zugriffskontrolle
Abschnitt mit dem Titel „Zugriffskontrolle“- Stelle sicher, dass deine Storage-URLs für App-Nutzer erreichbar, aber nicht öffentlich auffindbar sind
- Nutze nach Möglichkeit Signed URLs oder Token-basierte Authentifizierung
- Implementiere korrekte CORS-Header für Web-Apps
Verschlüsselung
Abschnitt mit dem Titel „Verschlüsselung“- Verschlüssele sensible Bundles immer mit den Capgo Verschlüsselungstools
- Speichere Encryption Keys sicher und rotiere sie regelmäßig
- Nutze HTTPS für alle Bundle-URLs (erforderlich für Mobile- und Electron-Apps)
Monitoring
Abschnitt mit dem Titel „Monitoring“- Überwache Access Logs auf ungewöhnliche Download-Muster
- Richte Alerts für fehlgeschlagene Bundle-Downloads ein
- Prüfe regelmäßig deine Storage-Berechtigungen
Fehlerbehebung
Abschnitt mit dem Titel „Troubleshooting“Häufige Probleme
Abschnitt mit dem Titel „Häufige Probleme“Bundle wird nicht heruntergeladen:
- Prüfen Sie, ob die URL öffentlich zugänglich ist und HTTPS verwendet (erforderlich für Mobile- und Electron-Apps)
- CORS-Header für Web-Apps prüfen
- Sicherstellen, dass das Bundle-Format korrekt ist
Verschlüsselungsfehler:
- Überprüfe die
ivSessionKeymit dem verschlüsselten Bundle übereinstimmt - Prüfen Sie, ob das Bundle mit dem richtigen Key verschlüsselt wurde
- Sicherstellen, dass Encryption v2 für neue Bundles genutzt wird
S3-Upload-Fehler:
- S3-Credentials und Berechtigungen prüfen
- Bucket-Policies und CORS-Konfiguration prüfen
- Sicherstellen, dass die angegebene Region korrekt ist
Debug-Commands
Abschnitt mit dem Titel „Debug-Commands“Bundle-Status prüfen:
npx @capgo/cli@latest app debugBundle-Integrität verifizieren:
npx @capgo/cli@latest bundle listNächste Schritte
Abschnitt „Nächste Schritte“- Mehr über Channels um verschiedene Deployment-Umgebungen zu verwalten
- Entdecken Update-Verhalten um anzupassen, wie Updates angewendet werden
- Einrichten CI/CD-Integration um deinen Custom-Storage-Workflow zu automatisieren
Weiter mit Custom Storage
Abschnitt mit dem Titel „Weiter mit Custom Storage“Wenn du es nutzt Eigener Speicher um Sicherheit und Compliance zu planen, verbinden Sie es mit Verschlüsselung für die Implementierungsdetails in Encryption, Compliance für das Implementierungsdetail in Compliance, Capgo Security Scanner für den Produkt-Workflow im Capgo Security Scanner, Capgo Sicherheit für den Produkt-Workflow in Capgo Security und Capgo Trust Center für den Produkt-Workflow im Capgo Trust Center.