Zum Hauptinhalt springen

Wie man Semantic Versioning mit Capgo OTA-Updates verwendet

Erhalten Sie Einblicke in die Möglichkeiten, App-Updates und Versionskontrolle mit Semantic Versioning und Capgo-OTA-Updates für Capacitor-Apps zu vereinfachen.

Wie man Semantic Versioning mit Capgo OTA-Updates verwendet

Wollen Sie App-Updates vereinfachen App-Updates und Versionkontrolle? Semantic Versioning (SemVer) zusammen mit CapgoCapgos Over-The-Air (OTA)-Updates erleichtern die Verwaltung Capacitor Apps werden einfacher und schneller verwaltet. Hier ist, wie es geht:

  • Semantic Versioning-Grundlagen: Versions verwenden die Formatierung MAJOR.MINOR.PATCH:

    • MAJOR: Für wichtige Änderungen.
    • MINOR: Für neue Funktionen, die rückwärts kompatibel sind.
    • PATCH: Für Fehlerkorrekturen.
  • Warum SemVer mit Capgo verwenden?

    • Klare Kommunikation über Updates.
    • Intelligente Versionsverwaltung.
    • Vermeiden von Abhängigkeitskonflikten.
    • Geregelte Releaseplanung.
  • Capgo-Einrichtung Schritte:

    1. Installieren Sie Capgo’s Updater-Plugin.
    2. Konfigurieren Sie die Versionsnummer Ihrer App in capacitor.config.json und andere Dateien.
    3. Initialisieren Sie mit Ihrem API-Schlüssel.
    4. Verwenden Capgo CLI um Updates zu bündeln und hochzuladen.
  • Versions- und Kanalverwaltung:

    • Verwenden Sie separate Kanäle (z.B. "beta" für Tests, "produktion" für stabile Releases).
    • Steuerung der Update-Politik (Automatische Aktualisierung von Patches, manuelle Genehmigung für große Änderungen).
    • Rückgängigmachungsoptionen für fehlgeschlagene Updates.
  • Bereitstellungsvorgang:

    • Aktualisieren Sie die Versionszahlen entsprechend den SemVer-Regeln.
    • Sorgfältig testen, bevor Sie deployen.
    • Verwenden Sie CLI-Befehle, um Updates hochzuladen und zu verteilen.

Capgo stellt sicher, dass Updates schnell und zuverlässig an die Benutzer gelangen, mit Werkzeugen zur Behandlung von Störungen und zur Aufrechterhaltung der Stabilität. Perfekt für Teams, die CI/CD-Workflows verwenden, um Updates automatisiert zu verwalten.

Schnelltipps: Testen Sie Updates immer und verwenden Sie Kanäle, um effektiv gestaffelte Rollouts zu verwalten.

Semantic Versioning | Level Up

Capgo Setup-Anleitung

Capgo Live-Update-Dashboard-Interface

Hier erfahren Sie, wie Sie Capgo für die Verwaltung von OTA-Updates und die Versionskontrolle mit Leichtigkeit einrichten können.

Initialisierungs-Schritte

Beginnen Sie mit der Installation des Capgo Updater-Plugin:

npm install @capgo/capacitor-updater  
npx cap sync

Stellen Sie sicher, dass Ihr capacitor.config.json Datei eine semantische Versionsformat verwendet:

{ 
  "appId": "com.example.app", 
  "appName": "My App", 
  "version": "1.0.0" 
}

Für ältere Projekte aktualisieren Sie die Versionsdetails in diesen Orten:

  • package.json (Suchen Sie nach dem version Feld)
  • android/app/build.gradle (Aktualisieren Sie versionName)
  • ios/App/App.xcodeproj/project.pbxproj (Aktualisieren Sie CURRENT_PROJECT_VERSION)

Konfigurieren Sie Capgo mit Ihrem API-Schlüssel:

npx @capgo/cli@latest init YOUR_API_KEY

Schnellreferenz-Tabelle:

Setup-Phase Schlüssel Aktion ÜberprüfungsSchritt
Installation Install Plugin und synchronisieren Überprüfen package.json
Konfiguration Setzen von Versionszahlen Überprüfen in allen Dateien
Initialisierung Verbindung mit API-Schlüssel herstellen Überprüfen des Verbindungszustands
Erstellen Erstellen des ersten Bundles Bestätige das Erfolgsupload

Versionskontrollintegration

Capgo funktioniert gut mit CI/CD-Plattformen, was automatisierte Updates einfach macht. Unterstützte Plattformen umfassen:

Wenn Sie an lokalen Entwicklungen arbeiten, können Sie die automatischen Updates deaktivieren, indem Sie diese Zeile in Ihre Konfiguration einfügen:

{ 
  "plugins": { 
    "CapacitorUpdater": { 
      "autoUpdate": false 
    } 
  } 
}

Dies stellt sicher, dass Capgo Ihre lokalen Änderungen nicht überschreibt. Sobald Ihre Konfiguration bereit ist, können Sie Ihre erste Version hochladen:

npx @capgo/cli@latest bundle upload  
npx @capgo/cli@latest channel set production -s default

Schließlich informieren Sie das native Plugin über den Gesundheitszustand des Bundles in Ihrer Anwendungs-Hauptdatei:

import { CapacitorUpdater } from '@capgo/capacitor-updater';  
CapacitorUpdater.notifyAppReady();

Diese Konfiguration stellt sicher, dass Ihre App für glatte OTA-Deployments und Versionsverwaltung bereit ist.

Capgo mit semantischem Versionierung verwenden

Versionsnummer-Verwaltung

Capgo verwendet semantisches Versionieren (SemVer), um die Anwendungsversionen zu verwalten, formatiert als MAJOR.MINOR.PATCHHier ist, wie es funktioniert:

  • Hauptversion (X.0.0): Erhöhen Sie die MAJOR-Zahl für Änderungen, die die Kompatibilität brechen.
  • Minor-Version (1.X.0): Erhöhen Sie die MINOR-Zahl für neue Funktionen, die kompatibel bleiben.
  • Patch-Version (1.0.X): Erhöhen Sie die PATCH-Zahl für Bug-Fixes, die die Kompatibilität nicht beeinflussen.
Versionstyp Wann zu inkrementieren Automatisches Update-Verhalten
Groß (X.0.0) For breaking API changes Benötigt manuelle Genehmigung
Klein (1.X.0) Für neue Funktionen Konfigurierbar in Capgo
Patch (1.0.X) Für Bug-Fixes, die die Kompatibilität nicht beeinflussen Normalerweise automatisch

Indem Sie sich an die SemVer-Regeln halten, können Sie die Versionsverwaltung vereinfachen und sicherstellen, dass Updates über Ihre Bereitstellungskanäle glatter verlaufen.

Versionierungsleitlinien

Capgo ermöglicht Ihnen die effektive Verwaltung von Bereitstellungen, indem Sie unterschiedliche Kanäle für verschiedene Stadien Ihres Workflows einrichten.

  • Kanalbasierte Versionsverwaltung: Organisieren Sie Ihren Bereitstellungsvorgang, indem Sie separate Kanäle für die Testung und die Produktion erstellen. Zum Beispiel:

    • Einen "beta"-Kanal (z.B. 1.2.0-beta) für die Testung neuer Funktionen verwenden.
    • Einen "Produktion"-Kanal (z.B. 1.2.0) für stabile Releases verwenden.
    • Eine plattform-spezifische Kanäle (z.B. "ios-hotfix" mit Version 1.2.1) hinzufügen, wenn Sie plattform-spezifische Probleme angehen.
  • Update-Politik-Konfiguration: Kontrollieren Sie, wie Updates angewendet werden, mithilfe der Konfigurationsoptionen von Capgo . Zum Beispiel:

    {
      "plugins": {
        "CapacitorUpdater": {
          "disableAutoUpdate": "minor"
        }
      }
    }

    Diese Konfiguration stellt sicher, dass Benutzer automatisch Patch-Updates erhalten, während Minor- und Major-Updates eine manuelle Genehmigung erfordern.

  • Version Rückschaltstrategie: Verwenden Sie Vorab-Versionen, um klare Rückschaltmöglichkeiten zu erhalten. Diese Vorgehensweise ermöglicht es Ihnen, auf eine vorherige Version zurückzukehren, wenn Probleme auftreten, während die Versionsverwaltung konsistent über alle Kanäle bleibt.

Diese besten Praktiken erleichtern die Verwaltung von Updates, die Testung neuer Funktionen und die Gewährleistung der Stabilität im Bereitstellungsprozess Ihres Apps.

sbb-itb-f9944d2

OTA-Update-Deployments

Erfolgreich OTA-Updates bereitstellen

Updatevorbereitung

Beginnen Sie mit dem Aktualisieren der Version in package.json und capacitor.config.json__CAPGO_KEEP_0__.config.json

  • Bug Fix: Erhöhen Sie die PATCH-Zahl (z.B. 1.0.1 → 1.0.2)
  • New Feature: Erhöhen Sie die MINOR-Zahl (z.B. 1.0.0 → 1.1.0)
  • Breaking Change: Erhöhen Sie die MAJOR-Zahl (z.B. 1.0.0 → 2.0.0)

Thoroughly test your build and confirm the app communicates with the server using notifyAppReady.

Next, decide on your update strategy. You can choose from:

  • Auto-Update: Erzwingen Sie automatisch die Mindestversionserfordernisse.
  • Händische Kontrolle: Angabe exakter Versionsanforderungen für Updates.
  • Kanalbasiert: Verwenden Sie Kanäle für Tests und rollende Vorabversionen.

Capgo CLI Update-Befehle

Verwenden Sie Capgo’s CLI zum einfacheren Bereitstellen Ihrer Update. Hier ist, wie man es macht:

# Initialize Capgo in your project
npx @capgo/cli@latest init [apikey]

# Upload your update bundle
npx @capgo/cli bundle upload [appId]

# Add a new distribution channel
npx @capgo/cli channel add [channelName] [appId]

Capgo sichert das Bereitstellen mit Ende-zu-Ende-Verschlüsselung und sicheren Schlüsselverwaltung ab.

“@Capgo ist eine intelligente Möglichkeit, Hot-code-Pushes durchzuführen (und nicht für all das Geld der Welt wie bei @AppFlow) 🙂”

Nachdem das Update bereitgestellt wurde, können Sie Updates über Capgo’s Dashboard verfolgen. Updates erreichen die Benutzer in der Regel innerhalb von Minuten nachdem sie die App geöffnet haben. Der Prozess funktioniert wie folgt:

  • Die App überprüft Updates.
  • Herunterlädt das Update im Hintergrund.
  • Markiert die neue Version als aktiv, wenn der Benutzer die App beendet.
  • Aktiviert die Aktualisierung bei der nächsten Startphase.

Für Unternehmenseinsätze möchten Sie möglicherweise eine CI/CD-Automatisierung integrieren.

“Wir praktizieren agiles Entwickeln und @Capgo ist mission-kritisch bei der kontinuierlichen Bereitstellung an unsere Benutzer!”

Problembehandlung und Tipps

Versionierungsprobleme

Die Verwaltung der semantischen Versionsnummer in Capgo kann bei der Aktualisierung der Bereitstellung manchmal kompliziert sein. Um Ihre Entwicklungsaufgaben nicht zu überschreiben, konfigurieren Sie die folgenden in Ihrem capacitor.config.json Datei:

{ 
  "plugins": { 
    "CapacitorUpdater": { 
      "autoUpdate": false 
    } 
  } 
}

Wenn eine Aktualisierung fehlschlägt, hier ist, was Sie tun können:

  • Setzen Sie autoUpdate auf false Kontext: Produktseite für Live-Updates. Rolle: Kurze UI-Bezeichnung oder Navigationspunkt. Nachrichtsschlüssel `live_update_dynamic_label_to` (Live-Update-Dynamische Bezeichnung zu).
  • während der Entwicklung.
  • Wiederinstallieren Sie es mit der korrigierten Version.
  • Stellen Sie die automatischen Updates wieder ein, sobald alles stabil ist.

Führen Sie bei größeren Versionsupdates die disableAutoUpdateBreaking Flag und hören Sie auf das majorAvailable Event, um die Updates ordnungsgemäß zu verarbeiten:

CapacitorUpdater.addListener('majorAvailable', (info) => {
  console.log(`Major update available: ${info.version}`);
  // Add your update prompt logic here
});

Indem Sie diese Konfigurationen mit guten Teampraktiken kombinieren, können Sie die Versionskonsistenz aufrechterhalten und Fehler reduzieren.

Team-versionskontrolle

Sobald einzelne Updates verwaltet werden, ist es für Teams entscheidend, starke Versionkontrollpraktiken zu etablieren.

‚Jedes Änderungstest vor dem Merging mit dem Hauptrepository wird die Stabilität stärken und kostspielige Fehler vermeiden‘ [4]

Hier sind einige Methoden, um Konsistenz sicherzustellen:

  • Definieren Sie einen Zweig als Hauptrepository soll die Wahrheitsquelle sein.
  • Verwenden Sie separate Capgo-Kanäle für Entwicklungsumgebungen und Produktionsumgebungen.
  • Automatisieren Sie die Versionsuploads über CI/CD-Pipelines.
  • Dokumentieren Sie alle code-Änderungen mit klaren und detaillierten Commit-Nachrichten.

Für größere Teams kann die folgende Versionsverwaltungs-Matrix bei der Organisation von Updates helfen:

Umgebung Kanal Automatisches Update Versionsmuster
Entwicklung dev Deaktiviert 0.x.x
Staging beta Aktiviert x.x.x-beta
Produktion stabil Aktiviert x.x.x

Update-Wiederherstellungs-Schritte

Selbst mit Vorsichtsmaßnahmen können Updates scheitern. Wenn das passiert, folgen Sie diesen Wiederherstellungs-Schritten:

  1. Rollen Sie zurück zu einem vorherigen stabilen Bundle.
  2. Zu jeder neuen Korrektur die Versionszahlen erhöhen (Hinweis: Versionszahlen können nach der Löschung nicht wieder verwendet werden) [2].
  3. Überprüfen Sie Updates während der App-Start, um sicherzustellen, dass sie wie erwartet funktionieren.

Capgo’s Updater ist darauf ausgelegt, Störungen zu bewältigen. Zum Beispiel, wenn der Server nicht erreichbar ist oder ein Update gelöscht wurde, funktioniert die App weiterhin normal. [3]. Zusätzlich werden fehlgeschlagene Netzwerkanfragen automatisch während des nächsten App-Starts wiederholt. [3]. Diese eingebaute Resilienz minimiert die Ausfallzeit und sichert glattere Betriebsabläufe.

Zusammenfassung

Semantic Versioning in Combination mit Capgo hat die OTA-Updates für Capacitor-Apps effizienter gemacht. Mit 947,6 Millionen Updates und 1.400 Produktionsanwendungen, die dieses System verwenden [1], sind die Bereitstellungsprozesse um 81 % effizienter geworden. [1]Hier sind die Aussagen von Entwicklern:

“Wir haben __CAPGO_KEEP_0__ OTA-Updates erfolgreich durchgeführt”

Wir haben __CAPGO_KEEP_0__ OTA-Updates erfolgreich durchgeführt Wir haben Capgo OTA-Updates erfolgreich durchgeführt In Betrieb für unsere Nutzergruppe von über 5000. Wir sehen eine sehr glatte Funktion fast alle unsere Nutzer sind innerhalb von Minuten nach dem OTA-Deploy auf @Capgo.” - colenso [1]

Das MAJOR.MINOR.PATCH-Versionierungssystem macht es einfach, Bruchänderungen, neue Funktionen und Bugfixes zu kommunizieren [5]. Dies ist besonders hilfreich für Teams, die mehrere Releases pro Woche über Capgo’s Plattform verwalten

Capgo’s Verschlüsselte Lösung, die mit CI/CD-Werkzeugen integriert ist, ist auch budgetfreundlich - Kosten können um bis zu 26.100 $ über fünf Jahre gesenkt werden [1]. Ihre anpassbaren Kanäle stellen sicher, dass Updates an die richtigen Nutzer zu dem richtigen Zeitpunkt gelangen

“Wir praktizieren agiles Entwicklung und @Capgo ist mission-kritisch bei der ständigen Lieferung an unsere Nutzer!” - Rodrigo Mantica [1]

Fortsetzen Sie von Wie Sie Semantic Versioning mit Capgo OTA-Updates verwenden

Wenn Sie Wie Sie Semantic Versioning mit Capgo OTA-Updates verwenden zum Planen von Rollbacks und Versionskontrolle verwenden, verbinden Sie es mit Rückgänge für die Implementierungsdetails in Rückgänge, Zielversionierung context":"Page/area: Capgo solutions marketing page. Role: Section or page heading. Seen in: page solutions/version-targeting.astro. Message key `solutions_version_targeting_title` (Solutions Version Targeting Title). | Page/area: Capgo solutions marketing page. Role: Short UI label or navigation item. Seen in: page solutions/version-targeting.astro. Message key `solutions_version_targeting` (Solutions Version Targeting). für die Implementierungsdetails in Zielversionierung, Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten, Paket Capgo Live Updates Capgo Live Updates

Live-Updates für Capacitor-Anwendungen

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Wenn ein Web-Schicht-Bug live ist, schicken Sie die Reparatur über __CAPGO_KEEP_0__ anstatt Tage zu warten, bis die App-Store-Zulassung vorliegt. Die Benutzer erhalten das Update im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Unterstützung durch Martin zur Verfügung gestellt

Neueste von unserem Blog

Capgo bietet Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.