Zum Hauptinhalt springen

Semantic Versioning bei Capgo OTA-Updates nutzen

Erfahren Sie, wie Sie App-Updates und Versionskontrolle mit Semantic Versioning und den OTA-Updates von Capgo für Capacitor-Apps vereinfachen.

So nutzen Sie Semantic Versioning mit Capgo OTA-Updates Capgo Blog-Illustration

Updates vereinfachen App-Updates und die Versionskontrolle? Semantische Versionierung (SemVer) kombiniert mit Capgo’s Over-The-Air (OTA)-Updates macht das Verwalten von Capacitor Apps einfacher und schneller. So geht’s:

  • Grundlagen des Semantic Versioning: Versionen verwenden das Format MAJOR.MINOR.PATCH:

    • MAJOR: Für breaking changes.
    • MINOR: Für neue, abwärtskompatible Features.
    • PATCH: Für Bugfixes.
  • Warum SemVer mit Capgo nutzen?

    • Klare Kommunikation über Updates.
    • Intelligentes Versionsmanagement.
    • Abhängigkeitskonflikte vermeiden.
    • Strukturierte Release-Planung.
  • Capgo-Setup Schritte:

    1. Installiere das Updater-Plugin von Capgo.
    2. Konfiguriere die App-Version in capacitor.config.json und anderen Dateien.
    3. Initialisiere mit deinem API-Key.
    4. Nutzt Capgo CLI um Updates zu bündeln und hochzuladen.
  • Versionen und Kanäle verwalten:

    • Nutze separate Kanäle (z. B. „beta“ für Tests, „production“ für stabile Releases).
    • Steuere Update-Policies (Auto-Update für Patches, manuelle Freigabe für Major-Änderungen).
    • Rollback-Optionen für fehlgeschlagene Updates.
  • Deployment-Prozess:

    • Aktualisiere Versionsnummern gemäß SemVer-Regeln.
    • Teste gründlich, bevor du deployst.
    • Nutze CLI-Befehle, um Updates hochzuladen und zu verteilen.

Capgo stellt sicher, dass Updates schnell und zuverlässig bei den Nutzern ankommen, mit Tools zur Bewältigung von Störungen und zur Aufrechterhaltung der Stabilität. Ideal für Teams, die CI/CD-Workflows nutzen, um Updates zu automatisieren.

Pro-Tipp: Teste Updates immer und nutze Channels, um gestaffelte Rollouts effektiv zu verwalten.

Semantische Versionierung | Level Up

Capgo Setup-Guide

Capgo Live Update Dashboard-Interface

So richtest du Capgo ein, um OTA-Updates und die Versionskontrolle mühelos zu verwalten.

Erste Einrichtungsschritte

Installiere zuerst die Capgo Updater-Plugin:

npm install @capgo/capacitor-updater  
npx cap sync

Stellen Sie sicher, dass Ihre 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 an diesen Stellen:

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

Sobald konfiguriert, initialisieren Sie Capgo mit Ihrem API-Key:

npx @capgo/cli@latest init YOUR_API_KEY

Schnellreferenz-Tabelle:

Setup-Phase Wichtige Aktion Verifizierungsschritt
Installation Plugin installieren und synchronisieren Prüfen package.json
Konfiguration Versionsnummern festlegen In allen Dateien prüfen
Initialisierung Mit API Key verbinden Verbindungsstatus testen
Build Initialen Bundle erstellen Erfolgreichen Upload bestätigen

Versionskontrolle-Integration

Capgo funktioniert gut mit CI/CD-Plattformen und automatisierte Updates einfach. Unterstützte Plattformen sind:

Für die lokale Entwicklung kannst du Auto-Updates deaktivieren, indem du dies deiner Konfiguration hinzufügst:

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

So verhinderst du, dass Capgo deine lokalen Änderungen überschreibt. Wenn dein Setup bereit ist, lade deine erste Version hoch:

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

Informiere schließlich das native Plugin in der Hauptdatei deiner App über den Status des Bundles:

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

Dieses Setup stellt sicher, dass deine App bereit für reibungslose OTA-Deployments und das Version-Management ist.

Semantic Versioning mit Capgo nutzen

Verwaltung der Versionsnummern

Capgo nutzt Semantic Versioning (SemVer) zur Verwaltung von App-Versionen im Format MAJOR.MINOR.PATCH. So funktioniert es:

  • Major-Version (X.0.0): Erhöhe die MAJOR-Nummer bei Änderungen, die die Kompatibilität brechen.
  • Minor-Version (1.X.0): Erhöhe die MINOR-Nummer für neue Features, die kompatibel bleiben.
  • Patch-Version (1.0.X): Erhöhe die PATCH-Nummer für Bugfixes, die die Kompatibilität nicht beeinflussen.
Versionstyp Wann erhöhen? Auto-Update-Verhalten
Major (X.0.0) Für breaking API Changes Manuelle Freigabe erforderlich
Minor (1.X.0) Für neue Features In Capgo konfigurierbar
Patch (1.0.X) Für Bugfixes Meist automatisch

Wenn du dich an die SemVer-Regeln hältst, vereinfachst du die Versionsverwaltung und sorgst für reibungslosere Updates in deinen Deployment-Channels.

Richtlinien zur Versionierung

Capgo hilft dir, Deployments effektiv zu verwalten, indem du separate Channels für die verschiedenen Phasen deines Workflows einrichtest.

  • Channel-basiertes Versionsmanagement: Organisiere deinen Deployment-Prozess, indem du separate Channels für Testing und Produktion erstellst. Zum Beispiel:

    • Nutze einen „beta“-Channel (z. B. 1.2.0-beta), um neue Features zu testen.
    • Halte einen „production“-Channel (z. B. 1.2.0) für stabile Releases bereit.
    • Füge plattformspezifische Channels hinzu (z. B. „ios-hotfix“ mit Version 1.2.1), wenn du plattformspezifische Probleme behebst.
  • Update-Policy-Konfiguration: Steuere, wie Updates angewendet werden, über die 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 Freigabe erfordern.

  • Version-Rollback-Strategie: Verwenden Sie Pre-Release-Identifikatoren, um klare Rollback-Optionen zu erhalten. So können Sie bei Problemen auf eine frühere Version zurückgreifen, während die Versionierung über alle Kanäle hinweg konsistent bleibt.

Diese Best Practices erleichtern es, Updates zu verwalten, neue Funktionen zu testen und die Stabilität im Deployment-Prozess Ihrer App zu wahren.

sbb-itb-f9944d2

OTA-Update-Deployment

Sobald Ihr Versionierungs-Setup bereit ist, befolgen Sie diese Schritte, um OTA-Updates effektiv zu deployen.

Update-Vorbereitung

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

  • Bugfix: Erhöhen Sie die PATCH-Nummer (z. B. 1.0.1 → 1.0.2)
  • Neue Funktion: Erhöhen Sie die MINOR-Nummer (z. B. 1.0.0 → 1.1.0)
  • Breaking Change: Erhöhen Sie die MAJOR-Nummer (z. B. 1.0.0 → 2.0.0)

Teste deinen Build gründlich und stelle sicher, dass die App mit dem Server kommuniziert, indem du notifyAppReady.

Entscheiden Sie sich als Nächstes für Ihre Update-Strategie. Sie können wählen aus:

  • Auto-Update: Erzwingen Sie Mindestversionsanforderungen automatisch.
  • Manuelle Kontrolle: Exakte Versionsanforderungen für Updates festlegen.
  • Channel-basiert: Channels für Tests und gestaffelte Rollouts nutzen.

Capgo CLI Update-Befehle

Nutze Capgo’s CLI, um dein Update mühelos zu deployen. So geht’s:

# 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 gewährleistet sicheres Deployment mit Ende-zu-Ende-Verschlüsselung und sicherem Key-Management.

„@Capgo ist ein smarter Weg für Hot code Pushes (und nicht so teuer wie @AppFlow) 🙂“

Nach dem Deployment kannst du Updates über das Dashboard von Capgo überwachen. Updates erreichen Nutzer in der Regel innerhalb weniger Minuten, nachdem sie die App öffnen. So funktioniert der Prozess:

  • Die App prüft auf Updates.
  • Lädt das Update im Hintergrund herunter.
  • Markiert die neue Version als aktiv, wenn der Nutzer die App schließt.
  • Wendet das Update beim nächsten Start an.

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

„Wir arbeiten agil, und @Capgo ist entscheidend dafür, unsere Nutzer kontinuierlich zu versorgen!“

Fehlerbehebung und Tipps

Versionsmanagement-Probleme

Semantische Versionierung in Capgo kann das Deployment von Updates erschweren. Um Überschreiben Ihrer Entwicklungsarbeit zu vermeiden, konfigurieren Sie Folgendes in Ihrem capacitor.config.json Datei:

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

Falls ein Update fehlschlägt, können Sie Folgendes tun:

  • Setzen Sie autoUpdate zu false während der Entwicklung.
  • Deinstallieren Sie die App.
  • Installieren Sie sie mit der korrigierten Version neu.
  • Aktiviere die Auto-Updates wieder, sobald alles stabil läuft.

Für Major-Version-Updates nutze das disableAutoUpdateBreaking Flag und höre auf das majorAvailable Event, um Updates korrekt zu verarbeiten:

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

Durch die Kombination dieser Konfigurationen mit guten Team-Praktiken gewährleisten Sie Versionskonsistenz und minimieren Fehler.

Team-Versionskontrolle

Sobald einzelne Updates verwaltet werden, ist es für Teams entscheidend, solide Version-Control-Praktiken zu etablieren.

„Jede Änderung vor dem Merge in das Main-Repository zu testen, stärkt die Stabilität und vermeidet teure Fehler“ [4]

Hier sind einige Methoden, um Konsistenz zu gewährleisten:

  • Definieren Sie einen Branch als Main-Repository der als Single Source of Truth dient.
  • Nutzen Sie separate Capgo Channels für Dev- und Prod-Umgebungen.
  • Automatisieren Sie Version-Uploads über CI/CD-Pipelines.
  • Dokumentieren Sie alle code Änderungen mit klaren und detaillierten Commit-Messages.

Für größere Teams kann die folgende Versionsverwaltungs-Matrix helfen, Updates zu organisieren:

Umgebung Channel Auto-Update Versionsmuster
Entwicklung Dev- Deaktiviert 0.x.x
Staging Beta Aktiviert x.x.x-beta
Produktion stabil Aktiviert x.x.x

Schritte zur Update-Wiederherstellung

Trotz Vorsichtsmaßnahmen können Updates fehlschlagen. Falls das passiert, befolge diese Wiederherstellungsschritte:

  1. Auf ein vorheriges stabiles Bundle zurückrollen.
  2. Versionsnummern für neue Fixes erhöhen (Hinweis: Versionsnummern können nach der Löschung nicht wiederverwendet werden) [2].
  3. Prüfen Sie Updates beim App-Start, um sicherzustellen, dass sie wie erwartet funktionieren.

Der Updater von Capgo ist so konzipiert, dass er Störungen bewältigt. Wenn beispielsweise der Server nicht erreichbar ist oder ein Update gelöscht wird, funktioniert die App weiterhin normal [3]. Zusätzlich werden fehlgeschlagene Netzwerk-Anfragen automatisch beim nächsten App-Start erneut versucht [3]. Diese eingebaute Resilienz minimiert Ausfallzeiten und sorgt für einen reibungsloseren Betrieb.

Zusammenfassung

Semantic Versioning in Kombination mit Capgo hat OTA-Updates für Capacitor-Apps effizienter gemacht. Mit 947,6 Millionen ausgelieferten Updates und 1.400 Produktions-Apps, die dieses System nutzen [1], sind Deployment-Prozesse um 81 % effizienter geworden [1]. Diese Einrichtung ermöglicht es Entwicklern, Updates schnell und kontrolliert zu veröffentlichen und Verzögerungen in App-Stores zu umgehen.

Das sagen Entwickler dazu:

„Wir haben Capgo OTA-Updates in Produktion für unsere Nutzerbasis von über 5.000. Wir sehen einen sehr reibungslosen Betrieb; fast alle unsere Nutzer sind innerhalb von Minuten nach dem OTA-Deployment auf @Capgo aktuell.“ - colenso [1]

Das MAJOR.MINOR.PATCH-Versionierungssystem macht es einfach, Breaking Changes, neue Features und Bugfixes zu kommunizieren [5]. Das ist besonders hilfreich für Teams, die jede Woche mehrere Releases über die Plattform von Capgo verwalten.

Capgos verschlüsselte Lösung, die in CI/CD-Tools integriert ist, ist ebenfalls kostengünstig – und spart über fünf Jahre bis zu 26.100 $ ein [1]. Die anpassbaren Channels sorgen dafür, dass Updates die richtigen User zur richtigen Zeit erreichen.

„Wir setzen auf agile Entwicklung und @Capgo ist geschäftskritisch, um unseren Nutzern kontinuierlich Updates zu liefern!“ - Rodrigo Mantica [1]

Weiterlesen bei: Semantic Versioning mit Capgo OTA Updates nutzen

Wenn du es nutzt Semantic Versioning bei Capgo OTA-Updates nutzen um Rollbacks und die Versionskontrolle zu planen, verbinde es mit Rollbacks für die Implementierungsdetails in Rollbacks, Version-Targeting für die Implementierungsdetails in Version Targeting, Update-Verhalten für die Implementierungsdetails im Update-Verhalten, Bundle für die Implementierungsdetails im Bundle und Capgo Live Updates für den Produkt-Workflow in Capgo Live Updates.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Web-Layer live ist, liefere den Fix über Capgo aus, statt Tage auf die App-Store-Freigabe zu warten. Nutzer bekommen das Update im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Neues aus unserem Blog

Capgo gibt dir die besten Insights, um eine wirklich professionelle Mobile App zu erstellen.