Zum Hauptinhalt springen

Wie man Semantic Versioning mit Capgo OTA-Updates verwendet

Lernen Sie, wie Sie App-Updates und Versionskontrolle mit Semantic Versioning und Capgo-OTA-Updates für Capacitor-Apps vereinfachen können.

Martin Donadieu

Martin Donadieu

Content-Marketing-Manager

Wie man Semantic Versioning mit Capgo OTA-Updates verwendet

Möchten Sie App-Updates vereinfachen Want to simplify app updates for your users and streamline your development process? und Versionskontrolle? Semantic Versioning (SemVer) zusammen mit Capgo’s Over-The-Air (OTA)-Updates machen die Verwaltung Capacitor von Apps einfacher und schneller. Hier ist, wie es geht:

  • Grundlagen der Semantic Versioning: Versionen verwenden die Formatierung MAJOR.MINOR.PATCH:

    • MAJOR: Für wichtige Änderungen.
    • MINOR: Für neue Funktionen, die backwards-kompatibel sind.
    • PATCH: Für Bug-Fixes.
  • Warum SemVer mit Capgo verwenden?

    • Klare Kommunikation über Updates.
    • Intelligente Versionsverwaltung.
    • Vermeiden von Abhängigkeitskonflikten.
    • Organisiertes Release-Planung.
  • Capgo Setup Schritte:

    1. Installieren Sie das Updater-Plugin von Capgo.
    2. Konfigurieren Sie die Versionsnummer Ihrer App. capacitor.config.json und andere Dateien.
    3. Mit Ihrem API-Schlüssel initialisieren.
    4. Verwendung Capgo CLI zum Bundeln und Hochladen von Updates.
  • Versions- und Kanalverwaltung:

    • Verwenden Sie separate Kanäle (z.B. "beta" für Tests, "produktion" für stabile Versionen).
    • Kontrolle über Aktualisierungsrichtlinien (Automatische Aktualisierung von Patches, manuelle Genehmigung für große Änderungen).
    • Rückgängigstellungsoptionen für fehlgeschlagene Updates.
  • Bereitstellungsvorgang:

    • Aktualisieren Sie die Versionsnummern 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 aktualisieren.

Schnell-Tipp: 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.

Schritte zur Initialisierung

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 folgenden 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)

Einmal konfiguriert, initialisieren Sie Capgo mit Ihrem API-Schlüssel:

npx @capgo/cli@latest init YOUR_API_KEY

Schnellreferenz-Tabelle:

Setup-Phase Schlüsselaktion Verifizierungs Schritt
Installation Install Plugin und synchronisieren Überprüfen package.json
Konfiguration Setze Versionsnummern Überprüfe in allen Dateien
Initialisierung Verbinde mit API-Schlüssel Prüfe Verbindungszustand
Bauen Erstelle Initialbundle Bestätige Upload-Erfolg

Versionskontroll-Integration

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 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 Ihrem Hauptdatei Ihres Apps:

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

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

Verwendung der semantischen Versionsnummerierung mit Capgo

Versionsnummerierung

Capgo verwendet die semantische Versionsnummerierung (SemVer), um die App-Versionen 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 Aktualisierungsverhalten
Groß (X.0.0) Für API-Änderungen, die den Codebruch verursachen 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.

Versionskontrollleitlinien

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

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

    • Verwenden Sie einen „Beta“-Kanal (z.B. 1.2.0-beta) für die Testung neuer Funktionen.
    • Halten Sie einen „Produktions“-Kanal (z.B. 1.2.0) für stabile Releases bereit.
    • Fügen Sie plattform-spezifische Kanäle (z.B. „ios-hotfix“ mit der Version 1.2.1) hinzu, wenn Sie plattform-spezifische Probleme angehen.
  • Update-Politik-KonfigurationKontrollieren Sie, wie Updates angewendet werden, mithilfe der Konfigurationsoptionen von Capgo.

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

    Zum Beispiel: Dieser Aufbau stellt sicher, dass Benutzer automatisch Patch-Updates erhalten, während Minor- und Major-Updates eine manuelle Genehmigung erfordern.

  • Version Rückschaltstrategie: Verwenden Sie Vorabversionen, 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-Bereitstellung

Sobald Ihr Versionsverwaltungssystem bereit ist, folgen Sie diesen Schritten, um OTA-Updates effektiv zu bereitstellen.

Updatevorbereitung

Beginnen Sie damit, die Version in package.json und capacitor.config.json. Stellen Sie sicher, dass die Version dem SemVer-Format (MAJOR.MINOR.PATCH) entspricht:

  • Fehlerbehebung: Die PATCH-Zahl erhöhen (z.B. 1.0.1 → 1.0.2)
  • Neue Funktion: Die MINOR-Zahl erhöhen (z.B. 1.0.0 → 1.1.0)
  • Kompatibilitätsbruch: Die MAJOR-Zahl erhöhen (z.B. 1.0.0 → 2.0.0)

Überprüfen Sie gründlich Ihre Version und bestätigen Sie, dass die App mit dem Server kommuniziert. notifyAppReady.

Nächstes, entscheiden Sie sich für Ihre Update-Strategie. Sie können auswählen:

  • Automatisches Update: Automatisch die Mindestversionsanforderungen durchsetzen.
  • Händische Steuerung: Angabe exakter Versionsanforderungen für Updates.
  • Kanalbasiert: Verwenden Sie Kanäle für die Testung und die geplante Einführung.

Capgo CLI Aktualisierungsbefehle

Verwenden Sie Capgo’s CLI zum Bereitstellen Ihrer Aktualisierung mit Leichtigkeit. Hier ist, wie Sie es machen:

# 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 die Bereitstellung mit Ende-zu-Ende-Verschlüsselung und sicheren Schlüsselverwaltung ab.

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

Sobald Sie die Aktualisierung bereitgestellt haben, können Sie sie über Capgo’s Dashboard überwachen. Aktualisierungen 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 nach Aktualisierungen.
  • Lädt die Aktualisierung im Hintergrund herunter.
  • Markiert die neue Version als aktiv, wenn der Benutzer die App beendet.
  • Wendet die Aktualisierung bei der nächsten Startphase an.

Für Enterprise-Einsatzmöglichkeiten möchten Sie möglicherweise eine CI/CD-Automatisierung integrieren.

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

Problembehandlung und Tipps

Versionierungsprobleme

Die Verwaltung der semantischen Versionsnummer in Capgo kann manchmal die Aktualisierungsbereitstellung komplizieren. Um Ihre Entwicklungsergebnisse nicht zu überschreiben, konfigurieren Sie die folgenden in Ihrem capacitor.config.json datei:

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

Wenn eine Aktualisierung fehlschlägt, hier sind einige Schritte, die Sie unternehmen können:

  • Setzen autoUpdate auf false während der Entwicklung.
  • Entfernen Sie die App.
  • Reinstallieren Sie es mit der korrigierten Version.
  • Aktivieren Sie die automatischen Updates einmal alles stabil ist.

Für große Versionsupdates verwenden Sie den disableAutoUpdateBreaking Flag und hören Sie auf das majorAvailable Event, um 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

Einmal individuelle Updates verwaltet werden, ist es für Teams wichtig, starke Versionkontrollpraktiken zu etablieren.

“Bevor Sie jede Änderung mit dem Hauptrepository kombinieren, testen Sie sie, um Stabilität zu stärken und kostspielige Fehler zu vermeiden” [4]

Hier sind einige Methoden, um Konsistenz sicherzustellen:

  • Definieren Sie einen Zweig als Hauptrepository soll die Wahrheit darstellen.
  • Verwenden Sie separate Capgo-Kanäle für Entwicklungsumgebungen und Produktionsumgebungen.
  • Automatisieren Sie die Uploads von Versionen ü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 dabei helfen, Updates zu organisieren:

Umgebung Kanal Automatische Aktualisierung Versionsmuster
Entwicklung dev Deaktiviert 0.x.x
Staging beta Aktiviert x.x.x-beta
Produktion stabil Aktiviert x.x.x

Schritte zur Wiederherstellung nach dem Update

Wenn auch Vorsichtsmaßnahmen getroffen wurden, kann ein Update scheitern. Wenn das passiert, folgen Sie bitte diesen Wiederherstellungs-Schritten:

  1. Rückgängig machen Sie sich auf einen vorherigen stabilen Bundle.
  2. Versionzahlen für neue Fixes erhöhen (Hinweis: Versionzahlen können nach der Löschung nicht wieder verwendet werden) [2].
  3. Überprüfen Sie Updates während der App-Startzeit, um sicherzustellen, dass sie wie erwartet funktionieren.

Capgo’s Updater ist für Störungen ausgelegt. Zum Beispiel, wenn der Server nicht erreichbar ist oder ein Update gelöscht wurde, funktioniert die App weiterhin normal [3]. Zudem werden fehlgeschlagene Netzwerk-Anfragen 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 with Capgo, hat OTA-Updates für Capacitor-Apps effizienter gemacht. Mit 947,6 Millionen Updates geliefert und 1.400 Produktions-Apps, die dieses System verwenden [1], die Bereitstellungsvorgänge sind um 81% effizienter geworden [1]. Diese Konfiguration ermöglicht es Entwicklern, Updates schnell und kontrolliert zu pushen, ohne sich um App-Store-Verzögerungen zu kümmern.

Hier sind die Aussagen von Entwicklern:

„Wir haben Capgo OTA-Updates durchgeführt In Produktionsumgebung für unsere Nutzergruppe von +5000. Wir sehen eine sehr glatte Ablauf fast alle unsere Nutzer sind innerhalb von Minuten nach der OTA-Veröffentlichung bei @Capgo aktuell.” - colenso [1]

Das MAJOR.MINOR.PATCH-Versionierungssystem macht es leicht, 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]Seine anpassbaren Kanäle garantieren, dass Updates die richtigen Nutzer zu dem richtigen Zeitpunkt erreichen.

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

Fortsetzen Sie von Wie man Semantic Versioning mit Capgo OTA-Updates verwendet

Wenn Sie Wie man Semantic Versioning mit Capgo OTA-Updates verwendet zur Planung von Rollbacks und Versionskontrolle verwenden, verbinden Sie es mit Rückgänge für die Implementierungsdetails in Rückgänge, Zielsprachversionierung für die Implementierungsdetails in Zielsprachversionierung, Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten, Bündel für die Implementierungsdetails in Bündel, und Capgo Live-Updates für das Produktworkflow in Capgo Live-Updates.

Live-Aktualisierungen für Capacitor-Apps

Wenn ein Bug im Web-Schicht lebt, versenden Sie die Reparatur über Capgo anstatt Tage zu warten, bis die App-Store-Zulassung vorliegt. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Jetzt loslegen

Neuestes aus unserem Blog

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