Zum Hauptinhalt springen

Semantic Versioning mit Capgo OTA-Updates nutzen

Erhalten Sie Einblicke in die Optimierung von App-Updates und Versionskontrolle mit Capgo OTA-Updates für Capacitor-Apps.

Martin Donadieu

Martin Donadieu

Inhaltsmarketer

Semantic Versioning mit Capgo OTA-Updates nutzen

Wollen Sie App-Updates vereinfachen App-Updates und Versionkontrolle? Semantic Versioning (SemVer) zusammen mit Capgodie Über-The-Air (OTA)-Updates von Capgo erleichtern das Verwalten von Capacitor Apps werden einfacher und schneller verwaltet. 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 rückwärts kompatibel sind.
    • PATCH: Für Fehlerkorrekturen.
  • Wozu SemVer mit Capgo verwenden?

    • Klare Kommunikation über Updates.
    • Intelligente Versionsverwaltung.
    • Vermeidung von Abhängigkeitskonflikten.
    • Geschäftige Releaseplanung.
  • Capgo Einrichtung Schritte:

    1. Installieren Sie den Updater-Plugin von Capgo.
    2. Konfigurieren Sie die Version 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 die Testphase, "production" für stabile Releases).
    • Kontrolle über Update-Politiken (Automatische Aktualisierung von Patches, manuelle Genehmigung für große Änderungen).
    • Rückgängigstellungsoptionen für fehlgeschlagene Updates.
  • Durchführungsprozess:

    • 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 sorgt dafür, 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.

Initial-Setup-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 context

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

HTML text fragment from a longer Capgo UI string (parent key `solutions_cordova_to_capacitor_ai_step2_body`). Page/area: Capgo solutions marketing page. Role: Website copy sentence. Seen in: page solutions/cordova-to-capacitor-ai.astro. Message key `solutions_cordova_to_capacitor_ai_step2_body` (Solutions Cordova To Capacitor Ai Step2 Body).

  • package.json Datei verwendet eine semantische Versionsformat: version Für ältere Projekte aktualisieren Sie die Versionsdetails in diesen Orten:
  • android/app/build.gradle (suchen Sie nach dem versionName)
  • ios/App/App.xcodeproj/project.pbxproj feld) CURRENT_PROJECT_VERSION)

Once configured, initialize Capgo with your API key:

npx @capgo/cli@latest init YOUR_API_KEY

(aktualisieren

Wenn Sie sich konfiguriert haben, initialisieren Sie __CAPGO_KEEP_0__ mit Ihrem __CAPGO_KEEP_1__-Schlüssel: Quick Reference-Tabelle: Überprüfungs Schritt
Installation Install Plugin und synchronisieren Überprüfen package.json
Konfiguration Satzzeichennummern festlegen Überprüfen in allen Dateien
Initialisierung Verbinden mit API-Schlüssel Verbindungstatus überprüfen
Erstellen Erstes Bundle erstellen Bestätige das Erfolgsupload

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 Zeile in Ihre Konfiguration einfügen:

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

Dadurch wird sichergestellt, 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 Zustand 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 semantischer Versionsnummerierung verwenden

Versionsnummerierung

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

  • Hauptversion (X.0.0): Erhöhen Sie die Hauptversion (MAJOR) für Änderungen, die die Kompatibilität unterbrechen.
  • Minor-Version (1.X.0): Erhöhen Sie die Minor-Version (MINOR) für neue Funktionen, die kompatibel bleiben.
  • Patch-Version (1.0.X): Die PATCH-Zahl erhöhen, wenn es sich um Bug-Fixes handelt, die die Kompatibilität nicht beeinflussen.
Versionstyp Wann zu inkrementieren Automatisches Updateverhalten
Groß (X.0.0) Für grundlegende API Änderungen Benötigt manuelle Genehmigung
Klein (1.X.0) Für neue Funktionen Konfigurierbar in Capgo
Patch (1.0.X) Für Bug-Fixes Normalerweise automatisch

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

Versionierungsrichtlinien

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 Bereitstellungsprozess, indem Sie separate Kanäle für die Testung und die Produktion erstellen. Zum Beispiel:

    • Ermitteln Sie eine „beta“-Kanäle (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.
    • Fügen Sie plattformspezifische Kanäle (z.B. „ios-Hotfix“ mit der Version 1.2.1) hinzu, wenn Sie plattformspezifische Probleme angehen.
  • Update-Policy-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 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 von 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: Die PATCH-Zahl erhöhen (z.B. 1.0.1 → 1.0.2)
  • New Feature: Die MINOR-Zahl erhöhen (z.B. 1.0.0 → 1.1.0)
  • Breaking Change: Die MAJOR-Zahl erhöhen (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: Automatisch die Mindestversionsanforderungen durchsetzen.
  • Manuelle Kontrolle: Angabe exakter Versionsanforderungen für Updates.
  • Kanalbasiert: Verwenden Sie Kanäle für Tests und rollierende Updates.

Capgo CLI Update-Befehle

Verwenden Sie Capgo’s CLI zum einfacheren Bereitstellen Ihrer Updates. 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 das Bereitstellen sicher mit Ende-zu-Ende-Verschlüsselung und sicheren Schlüsselmanagement.

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

Nachdem Sie das Update bereitgestellt haben, 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.
  • Bei der nächsten Startphase wird die Aktualisierung angewendet.

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

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

Problembehandlung und Tipps

Versionenmanagementprobleme

Die Verwaltung der semantischen Versionsnummer 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 sind einige Schritte, die Sie unternehmen können:

  • Setzen Sie autoUpdate auf false kontext: Seite/Bereich: Produktseite für Live-Updates. Rolle: Kurze Benutzeroberflächenebene oder Navigationspunkt. Nachrichtsschlüssel `live_update_dynamic_label_to` (Live-Update-Dynamische-Bezeichnung-zu).
  • während der Entwicklung.
  • Reinstallieren Sie es mit der korrigierten Version.
  • Aktualisierungen automatisch wieder aktivieren, sobald alles stabil ist.

Für große Versionsupdates verwenden Sie die disableAutoUpdateBreaking Flagge und hören Sie auf das majorAvailable Ereignis, um Updates ordnungsgemäß zu bearbeiten:

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

Durch die Combination dieser Konfigurationen mit guten Teampraktiken können Sie die Versionskonsistenz aufrechterhalten und Fehler reduzieren.

Team-versionskontrolle

Einmal individuelle Updates verwaltet sind, ist es für Teams entscheidend, starke Versionenkontrollpraktiken zu etablieren.

‚Jedes Änderung getestet, bevor es mit dem Hauptrepository fusioniert wird, 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 dabei helfen, Updates zu organisieren:

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

Schritte zur Wiederherstellung bei Updates

Wenn Updates trotz Vorsichtsmaßnahmen scheitern, folgen Sie bitte diesen Wiederherstellungsanweisungen:

  1. Rollen Sie sich zu einem vorherigen stabilen Bundle zurück.
  2. Zu jedem neuen Fix erhöhen Sie die Versionszahlen (Hinweis: Versionszahlen 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 auf 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 erneut versucht [3]. Diese eingebaute Resilienz minimiert die Ausfallzeit und sichert glattere Betriebsabläufe

Zusammenfassung

Semantic Versioning, kombiniert 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], haben sich die Bereitstellungsprozesse um 81 % beschleunigt [1]. Diese Konfiguration ermöglicht es Entwicklern, Updates schnell und kontrolliert zu pushen, ohne sich an App-Store-Verzögerungen zu stören

Hier sind einige Aussagen von Entwicklern:

“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 +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-Tools integriert ist, ist auch budgetfreundlich - Kosten können um bis zu 26.100 $ über fünf Jahre gesenkt werden [1]. Seine 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]

Fortsetzung von Wie man Semantic Versioning mit Capgo OTA-Updates verwendet

Wenn Sie verwenden Wie man Semantic Versioning mit Capgo OTA-Updates verwendet um Rollbacks und Versionskontrolle zu planen, verbinden Sie es mit Rücksetzungen zur Implementierungsdetail in Rücksetzungen, Zielversionierung context zur Implementierungsdetail in Zielversionierung, Updateverhalten zur Implementierungsdetail in Updateverhalten, Paket Capgo Live Updates Capgo Live Updates

Live-Updates für Capacitor-Anwendungen

Bei einem lebenden Web-Schicht-Bug versenden Sie die Reparatur über Capgo 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.

Menschliche Unterstützung von Martin

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.