Zum Hauptinhalt springen

Wie man Semantic Versioning mit Capgo OTA Updates verwendet

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

Martin Donadieu

Martin Donadieu

Inhaltsmarketer

Wie man Semantic Versioning mit Capgo OTA-Updates verwendet

Möchten Sie die Verwaltung von Anwendungsaktualisierungen und Versionskontrolle vereinfachen? Semantic Versioning (SemVer) in Combination mit CapgoOver-The-Air (OTA)-Updates von __CAPGO_KEEP_0__ Capacitor __CAPGO_KEEP_0__

  • Anwendungen einfacher und schneller. Hier ist, wie man es macht: Die Grundlagen von Semantic Versioning: 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 Bugfixes.
  • Warum verwenden Sie SemVer mit Capgo?

    • Klare Kommunikation über Updates.
    • Intelligente Versionsverwaltung.
    • Vermeiden Sie Abhängigkeitskonflikte.
    • Geregelte Releaseplanung.
  • Capgo Einrichtung Schritte:

    1. Installieren Sie das Capgo-Updater-Plugin.
    2. Konfigurieren Sie die Versionsnummer Ihres Apps in capacitor.config.json und anderen Dateien.
    3. Initialisieren Sie mit Ihrer API-Schlüssel.
    4. Verwenden Sie 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 Versionen).
    • Kontrollieren Sie die Update-Politik (Automatische Patches, manuelle Genehmigung für große Änderungen).
    • Rücksetzoptionen für fehlgeschlagene Updates.
  • Bereitstellungsvorgang:

    • Aktualisiere Versionsnummern entsprechend SemVer-Regeln.
    • Überprüfe gründlich, bevor du deployst.
    • Verwende 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.

Schnelltip: Überprüfe immer Updates und verwende Kanäle, um effektiv gestaffelte Rollouts zu verwalten.

Semantische Versionsierung | Level Up

Capgo Setup-Leitfaden

Capgo Live Update Dashboard Interface

Hier erfahren Sie, wie Sie Capgo für das einfache Management von OTA-Updates und Versionskontrolle einrichten.

Initial Setup Schritte

Beginnen Sie mit der Installation des Capgo-Updater-Plugins:

npm install @capgo/capacitor-updater  
npx cap sync

Stellen Sie sicher, dass Ihr capacitor.config.json Datei ein semantisches 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)

Konfiguriert, initialisieren Sie Capgo mit Ihrer API-Schlüssel:

npx @capgo/cli@latest init YOUR_API_KEY

Schnellreferenz-Tabelle:

EinrichtungsphaseSchlüsselaktionVerifizierungsstufe
InstallationInstallieren Sie das Plugin und synchronisieren SieÜberprüfen package.json
KonfigurationSetzen Sie VersionsnummernÜberprüfen Sie in allen Dateien
InitialisierungVerbinden Sie sich mit der API-SchlüsselStatus der Verbindungstestung
BauenErstellen Sie den ersten BundleBestätigung des Erfolgs der Uploads

Versionskontroll-Integration

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

Wenn Sie an der lokalen Entwicklung arbeiten, können Sie die automatische Aktualisierung 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 fertig ist, laden Sie Ihre erste Version hoch:

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:

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

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

Mit der semantischen Versionsnummerierung von Capgo

Versionsnummer-Verwaltung

Capgo verwendet die semantische Versionsnummerierung (SemVer) zur Verwaltung der App-Versionen, formatiert als MAJOR.MINOR.PATCH. Hier ist, wie es funktioniert:

  • Hauptversion (X.0.0): Erhöhen Sie die MAJOR-Zahl für Änderungen, die die Kompatibilität unterbrechen.
  • : Minor-Version (1.X.0): Erhöhen Sie die MINOR-Zahl für neue Funktionen, die die Kompatibilität aufrechterhalten.
  • : Patch-Version (1.0.X): Versionstyp
: Wenn Sie die Zählung erhöhen sollen: Automatische Aktualisierung: Major (X.0.0)
: Für unterbrechende __CAPGO_KEEP_0__ ÄnderungenFor breaking API changes: Minor (1.X.0)
: Erhöhen Sie die PATCH-Zahl für Bug-Fixes, die die Kompatibilität nicht beeinflussen.Für neue FunktionenKonfigurierbar in Capgo
Patch (1.0.X)Für FehlerbehebungenNormalerweise automatisch

Durch die Einhaltung der SemVer-Regeln können Sie die Versionsverwaltung vereinfachen und sicherstellen, dass Updates über Ihre Bereitstellungskanäle glatter verlaufen.

Versionierungsrichtlinien

Capgo ermöglicht Ihnen die effektive Verwaltung von Bereitstellungen, indem Sie separate 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:

    • 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 Version 1.2.1) hinzu, wenn Sie Plattform-spezifische Probleme angehen.
  • Aktualisierung der Policy-Konfiguration: Steuern Sie die Anwendung von Updates mithilfe der Konfigurationsoptionen von Capgo.

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

    Diese Konfiguration stellt sicher, dass Benutzer automatisch Patch-Updates erhalten, während Minor- und Major-Updates manuell genehmigt werden müssen.

  • Versionen-Rollback-Strategie: Verwenden Sie Voreinstellungen für vorab veröffentlichte Versionen, um klare Rollback-Optionen zu erhalten. Diese Methode ermöglicht es Ihnen, auf eine vorherige Version zurückzukehren, wenn Probleme auftreten, während die Versionsnummerierung 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 Ihre Versionsverwaltungskonfiguration fertig ist, folgen Sie diesen Schritten, um OTA-Updates effektiv bereitzustellen.

Update-Vorbereitung

Beginnen Sie mit der Aktualisierung der Versionsnummer in Paket.json und capacitor.config.jsonStellen Sie sicher, dass die Version der SemVer-Format (MAJOR.MINOR.PATCH) folgt:

  • Fehlerbehebung: Erhöhen Sie die PATCH-Zahl (z.B. 1.0.1 → 1.0.2)
  • Neue Funktion: Erhöhen Sie die MINOR-Zahl (z.B. 1.0.0 → 1.1.0)
  • Kritischer Änderungsfall: Erhöhen Sie die MAJOR-Zahl (z.B. 1.0.0 → 2.0.0)

Überprüfen Sie gründlich Ihr Build und bestätigen Sie, dass die App mit dem Server kommuniziert wird, indem notifyAppReady.

Nächsten, entscheiden Sie sich für aktualisierungsstrategie. Sie können auswählen:

  • Automatische Aktualisierung: Aktualisierungsversionen automatisch einhalten.
  • Händische Kontrolle: Exakte Versionsanforderungen für Aktualisierungen festlegen.
  • Kanalbasierte Aktualisierung: Kanäle für Tests und rollende Vorabversionen verwenden.

Capgo CLI Aktualisierungscommands

Verwenden Sie Capgo’s CLI zum einfacheren Deployen Ihrer Aktualisierung. 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 eine sichere Bereitstellung mit Ende-zu-Ende-Verschlüsselung und sicheren Schlüsselmanagement.

“@Capgo ist eine intelligente Möglichkeit, heiße code-Pushs (und nicht für all den Geld der Welt wie bei @AppFlow) 🙂”

Sobald Sie das System bereitgestellt haben, können Sie Aktualisierungen über das Capgo-Dashboard verfolgen. 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 Aktualisierungen.
  • Herunterlädt die Aktualisierung im Hintergrund.
  • Macht die neue Version als aktiv, wenn der Benutzer die App beendet.
  • Wendet die Aktualisierung auf dem nächsten Start an.

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

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

Problembehandlung und Tipps

Versionenmanagement-Probleme

Die Verwaltung semantischer Versionen in Capgo kann manchmal die Aktualisierungsbereitstellung komplizieren. 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:

  • Aktivieren autoUpdate während der Entwicklung. false Die App deinstallieren.
  • Die App mit der korrigierten Version neu installieren.
  • Die automatischen Updates wieder aktivieren, sobald alles stabil ist.
  • Für große Versionsupdates verwenden Sie den Flag und hören Sie auf das Ereignis, um Updates ordnungsgemäß zu verarbeiten:

Durch die Combination dieser Konfigurationen mit guten Teampraktiken können Sie die Versionskonsistenz aufrechterhalten und Fehler reduzieren. disableAutoUpdateBreaking Team-versionskontrolle majorAvailable Sobald individuelle Updates verwaltet werden, ist es für Teams entscheidend, starke Versionenkontrollpraktiken zu etablieren.

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

Set __CAPGO_KEEP_0__ to __CAPGO_KEEP_1__ during development.

Use the __CAPGO_KEEP_2__ flag and listen for the __CAPGO_KEEP_3__ event to handle updates properly.

By combining these configurations with good team practices, you can maintain version consistency and reduce errors.

“Jede Änderung vor dem Merge mit dem Hauptrepository testen, 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 als Quelle der Wahrheit.
  • Verwenden Sie separate Capgo-Kanäle für Entwicklung 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:

UmgebungKanalAuto-UpdateVersion Muster
EntwicklungdevDeaktiviert0.x.x
StagingbetaAktiviertx.x.x-beta
ProduktionstableAktiviert__CAPGO_KEEP_0__

Update-Wiederherstellungs-Schritte

Even with precautions, updates can fail. If that happens, follow these recovery steps:

  1. Zurückrollen Sie zu einer vorherigen stabilen Bundle.
  2. Erhöhen Sie die Versionszahlen für jede neue Korrektur (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 auf Störungen ausgelegt. Zum Beispiel, wenn der Server nicht erreichbar ist oder ein Update gelöscht wurde, funktioniert die App weiterhin normal. [3]Zusätzlich 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

Die kombinierte Verwendung von Semantischer Versionsierung und Capgo hat die OTA-Updates für Capacitor-Apps effizienter gemacht. Mit 947,6 Millionen Updates, die geliefert wurden, und 1.400 Produktions-Apps, die dieses System verwenden, sind die Bereitstellungsprozesse um 81 % effizienter geworden. [1]Summary [1]. Diese Konfiguration ermöglicht es Entwicklern, Updates schnell und kontrolliert durchzuführen, ohne sich um Verzögerungen in den App-Stores zu kümmern.

Hier sagen es Entwickler:

“Wir haben Capgo OTA-Updates in der Produktion für unsere Nutzerbasis von +5000 durchgeführt. Wir sehen eine sehr glatte Funktion fast alle unsere Nutzer sind innerhalb von Minuten nach dem Bereitstellen des OTA bei @Capgo auf dem neuesten Stand.” - colenso [1]

Das MAJOR.MINOR.PATCH-Versionierungssystem macht es einfach, wichtige Änderungen, neue Funktionen und Fehlerkorrekturen 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-Tools integriert ist, ist auch kostengünstig - sie kann Kosten von bis zu 26.100 $ über fünf Jahre einsparen. [1]. Seine anpassbaren Kanäle stellen sicher, dass Updates an die richtigen Nutzer zu dem richtigen Zeitpunkt gelangen.

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

Bleiben Sie bei der Verwendung von Wie man Semantic Versioning mit Capgo OTA-Updates verwendet

Wenn Sie Wie man Semantic Versioning mit Capgo OTA-Updates verwendet um Rollbacks und Versionskontrolle zu planen, verbinden Sie es mit Rollbacks für die Implementierungsdetails in Rollbacks, Versionziel für die Implementierungsdetails in Versionziel, Updateverhalten für die Implementierungsdetails in Updateverhalten, bundle für die Implementierungsdetails in bundle, und Capgo Live Updates für den Produktworkflow in Capgo Live Updates.

Live Updates für Capacitor-Apps

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

Los geht's jetzt

Neueste von unserem Blog

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