Zum Hauptinhalt springen

Wie man Semantic Versioning mit Capgo OTA-Updates verwendet

Erfahren Sie, wie Sie die App-Updates und die Versionskontrolle mit der Semantic Versioning und den OTA-Updates von Capgo 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 Capgo's Over-The-Air (OTA)-Updates erleichtert die Verwaltung von Capacitor -Anwendungen und beschleunigt sie. Hier ist, wie es geht:

  • Grundlagen von Semantic Versioning: Versions verwenden die Format MAJOR.MINOR.PATCH:

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

    • Klare Kommunikation über Updates.
    • Intelligente Versionsverwaltung.
    • Vermeide Abhängigkeitskonflikte.
    • Organisierte 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. __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ verwenden Capgo CLI Versions- und Kanalverwaltung
  • Verwenden Sie separate Kanäle (z.B. "beta" für Tests, "production" für stabile Versionen).:

    • Steuerung der Aktualisierungsrichtlinien (Automatische Aktualisierung von Patches, manuelle Genehmigung für große Änderungen).
    • __CAPGO_KEEP_0__ Setup
    • Rücksetzoptionen für fehlgeschlagene Updates.
  • Bereitstellung Prozess:

    • Aktualisieren Sie die Versionsnummern entsprechend der SemVer-Regeln.
    • Testen Sie gründlich, bevor Sie deployen.
    • Verwenden Sie CLI-Befehle, um Updates hochzuladen und zu verteilen.

Capgo stellt sicher, dass Updates den Benutzern schnell und zuverlässig erreichen, mit Werkzeugen zur Behandlung von Unterbrechungen und zur Aufrechterhaltung der Stabilität. Perfekt für Teams, die CI/CD-Workflows verwenden, um Updates automatisiert zu aktualisieren.

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

Semantische Versionsnummerierung | Level Up

Capgo Anleitung zur Einrichtung

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)

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

npx @capgo/cli@latest init YOUR_API_KEY

Schnellreferenz-Tabelle:

Setup-PhaseSicherheitsmaßnahmeÜberprüfungsstufe
InstallationInstallieren Sie das Plugin und synchronisieren SieÜberprüfen package.json
KonfigurationSetzen von VersionszahlenÜberprüfen in allen Dateien
InitialisierungVerbinden Sie sich mit der API-SchlüsselTesten Sie den Verbindungszustand
BauenErstellen Sie den ersten BundleBestätigen Sie den Erfolg der Uploads

Versionskontrollintegration

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 automatischen Updates deaktivieren, indem Sie dies in Ihrer Konfiguration hinzufü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 informiert die native Plugin die Gesundheit 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 mit 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): Kompatibilitätsbrüche erfordern eine Erhöhung der MAJOR-Zahl.
  • Minor Version (1.X.0): Neue Funktionen, die die Kompatibilität nicht beeinträchtigen, erfordern eine Erhöhung der MINOR-Zahl.
  • Patch Version (1.0.X): Bugfixes, die die Kompatibilität nicht beeinträchtigen, erfordern eine Erhöhung der PATCH-Zahl.
VersionstypWann Versionsnummer zu erhöhen istAutomatisches Updateverhalten
Mehr (X.0.0)Für API-Änderungen, die die Kompatibilität brechenBenötigt manuelle Genehmigung
Mehr (1.X.0)Für neue FunktionenKonfigurierbar in Capgo
Patch (1.0.X)Für FehlerbehebungenNormalerweise automatisch

Durch das Einhalten 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 können.

  • 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.
    • Hinzufügen von plattformspezifischen Kanälen (z.B. „ios-hotfix“ mit Version 1.2.1), wenn plattformspezifische Probleme angegangen werden.
  • Update-Policy-Konfiguration: Kontrolle, wie Updates mittels Capgo’s Konfigurationsoptionen angewendet werden. Zum Beispiel:

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

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

  • Versionen-Rollback-Strategie: Verwenden Sie Voreinstellungen für vorveröffentlichte Identifikatoren, um klare Rollback-Optionen zu erhalten. Diese Vorgehensweise ermöglicht Ihnen, auf eine vorherige Version zurückzukehren, wenn Probleme auftreten, während die Versionsnummerierung konsistent über alle Kanäle bleibt.

Diese Best Practices 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 bereit ist, folgen Sie diesen Schritten, um OTA-Updates effektiv zu bereitstellen.

Update-Vorbereitung

Beginnen Sie mit der Aktualisierung der Version in Paket-Datei 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 Wechsel: 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: notifyAppReady.

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

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

Capgo CLI Aktualisierungs-Befehle

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

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

Sobald Sie das Produkt bereitgestellt haben, können Sie Updates über das Capgo-Dashboard überwachen. 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.
  • Macht die neue Version als aktiv, wenn der Benutzer die App beendet.
  • Wendet das Update auf dem nächsten Start an.

Für Enterprise-Deployments 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 Update-Deployments komplizieren. Um Ihre Entwicklungsaufgaben nicht zu überschreiben, konfigurieren Sie die folgenden in Ihrem capacitor.config.json datei:

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

Wenn ein Update fehlschlägt, hier ist, was Sie tun können:

  • Setze autoUpdate auf false während der Entwicklung.
  • Entferne die App.
  • Installiere sie erneut mit der korrigierten Version.
  • Aktiviere die automatischen Updates erneut, sobald alles stabil ist.

Für große Versionsupdates verwende die disableAutoUpdateBreaking Flag und höre 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
});

Durch Kombination dieser Konfigurationen mit guten Teampraktiken kannst du die Versionskonsistenz aufrechterhalten und Fehler reduzieren.

Team-versionskontrolle

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

“Jede Änderung vor dem Hinzufügen an den Haupt-Repository wird die Stabilität stärken und kostspielige Fehler vermeiden” [4]

Hier sind einige Methoden, um Konsistenz sicherzustellen:

  • Definieren Sie einen Zweig als Haupt-Repository als Quelle der Wahrheit.
  • 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 Versionsverwaltungsmatrix bei der Organisation von Updates helfen:

UmgebungKanalAuto-UpdateVersionsmuster
EntwicklungdevDeaktiviert0.x.x
StagingbetaAktiviertx.x.x-beta
ProduktionstabilAktiviert__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 für die Behandlung von Unterbrechungen konzipiert. 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 Versionierung und Capgo hat die OTA-Updates für Capacitor-Apps effizienter gemacht. Mit 947,6 Millionen Updates geliefert und 1.400 Produktions-Apps, die dieses System verwenden, haben sich die Bereitstellungsprozesse um 81 % beschleunigt. [1]__CAPGO_KEEP_1__ [1]. Diese Konfiguration ermöglicht es Entwicklern, Updates schnell und kontrolliert bereitzustellen, ohne sich um Verzögerungen in den App-Store-Angeboten zu kümmern.

Hier sagen es Entwickler:

“Wir haben Capgo in production for our user base of +5000. We’re seeing very smooth operation almost all our users are upto date within minutes of the OTA being deployed to @Capgo.” - colenso [1]

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 an @__CAPGO_KEEP_0__ auf dem neuesten Stand.” - colenso [5]. This is especially helpful for teams managing several releases each week through Capgo’s platform.

. Dies ist besonders hilfreich für Teams, die mehrere Releases pro Woche über Capgo’s Plattform verwalten. __CAPGO_KEEP_0__’sverschlüsselte Lösung [1], die mit CI/CD-Tools integriert ist, ist auch kostengünstig - es können bis zu 26.100 $ über fünf Jahre eingespart werden.

“We practice agile development and @Capgo is mission-critical in delivering continuously to our users!” - Rodrigo Mantica [1]

Weitermachen 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, Aktualisierungsverhalten für die Implementierungsdetails in Aktualisierungsverhalten, 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 auf die Genehmigung des App-Store zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Los geht's

Neueste aus unserem Blog

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