Development, Mobile, Updates

So verwenden Sie semantische Versionierung mit Capgo OTA Updates

Erfahren Sie, wie Sie App-Updates und Versionskontrolle mithilfe von Semantic Versioning mit Capgos OTA-Updates für Capacitor-Apps optimieren können.

So verwenden Sie semantische Versionierung mit Capgo OTA Updates

Möchten Sie App-Updates und Versionskontrolle vereinfachen? Semantic Versioning (SemVer) in Kombination mit Capgos Over-The-Air (OTA) Updates macht die Verwaltung von Capacitor Apps einfacher und schneller. So geht’s:

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

    • MAJOR: Für Breaking Changes.
    • MINOR: Für neue Features mit Abwärtskompatibilität.
    • PATCH: Für Fehlerbehebungen.
  • Warum SemVer mit Capgo nutzen?

    • Klare Kommunikation über Updates.
    • Intelligentere Versionsverwaltung.
    • Vermeidung von Abhängigkeitskonflikten.
    • Organisierte Release-Planung.
  • Capgo Einrichtung Schritte:

    1. Installieren Sie das Capgo Updater Plugin.
    2. Konfigurieren Sie die Version Ihrer App in capacitor.config.json und anderen Dateien.
    3. Initialisieren Sie mit Ihrem API-Schlüssel.
    4. Nutzen Sie die Capgo CLI zum Bündeln und Hochladen von Updates.
  • Versionen und Kanäle verwalten:

    • Nutzen Sie separate Kanäle (z.B. “beta” für Tests, “production” für stabile Releases).
    • Steuern Sie Update-Richtlinien (automatische Patches, manuelle Freigabe für große Änderungen).
    • Rollback-Optionen für fehlgeschlagene Updates.
  • Bereitstellungsprozess:

    • Aktualisieren Sie Versionsnummern nach SemVer-Regeln.
    • Testen Sie gründlich vor der Bereitstellung.
    • Nutzen Sie CLI-Befehle zum Hochladen und Verteilen von Updates.

Capgo stellt sicher, dass Updates schnell und zuverlässig bei Nutzern ankommen, mit Werkzeugen zur Handhabung von Störungen und Aufrechterhaltung der Stabilität. Perfekt für Teams, die CI/CD-Workflows zur Automatisierung von Updates nutzen.

Schnelltipp: Testen Sie Updates immer und nutzen Sie Kanäle für effektive stufenweise Rollouts.

Semantic Versioning | Level Up

Capgo Einrichtungsanleitung

Capgo

Hier erfahren Sie, wie Sie Capgo für die Verwaltung von OTA-Updates und Versionskontrolle einrichten.

Erste Einrichtungsschritte

Beginnen Sie mit der Installation des Capgo Updater Plugins:

Terminal window
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 (aktualisieren Sie versionName)
  • ios/App/App.xcodeproj/project.pbxproj (aktualisieren Sie CURRENT_PROJECT_VERSION)

Nach der Konfiguration initialisieren Sie Capgo mit Ihrem API-Schlüssel:

Terminal window
npx @capgo/cli@latest init YOUR_API_KEY

Schnellreferenz-Tabelle:

EinrichtungsphaseHauptaktionVerifizierungsschritt
InstallationPlugin installieren und synchronisierenpackage.json prüfen
KonfigurationVersionsnummern festlegenIn allen Dateien überprüfen
InitialisierungMit API-Schlüssel verbindenVerbindungsstatus testen
BuildInitiales Bundle erstellenUpload-Erfolg bestätigen

Versionskontroll-Integration

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

Wenn Sie an lokaler Entwicklung arbeiten, können Sie Auto-Updates deaktivieren, indem Sie dies zu Ihrer Konfiguration hinzufügen:

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

Dies stellt sicher, dass Capgo Ihre lokalen Änderungen nicht überschreibt. Sobald Ihre Einrichtung bereit ist, laden Sie Ihre erste Version hoch:

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

Informieren Sie schließlich das native Plugin über den Zustand des Bundles in Ihrer App-Hauptdatei:

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

Diese Einrichtung stellt sicher, dass Ihre App bereit für reibungslose OTA-Bereitstellungen und Versionsverwaltung ist.

Semantic Versioning mit Capgo nutzen

Versionsnummern-Verwaltung

Capgo verwendet Semantic Versioning (SemVer) zur Verwaltung von App-Versionen, formatiert als MAJOR.MINOR.PATCH. So funktioniert es:

  • Major Version (X.0.0): Erhöhen Sie die MAJOR-Nummer für Änderungen, die die Kompatibilität brechen.
  • Minor Version (1.X.0): Erhöhen Sie die MINOR-Nummer für neue Features, die kompatibel bleiben.
  • Patch Version (1.0.X): Erhöhen Sie die PATCH-Nummer für Fehlerbehebungen, die die Kompatibilität nicht beeinflussen.
VersionstypWann erhöhenAuto-Update-Verhalten
Major (X.0.0)Für breaking API-ÄnderungenErfordert manuelle Genehmigung
Minor (1.X.0)Für neue FeaturesIn Capgo konfigurierbar
Patch (1.0.X)Für FehlerbehebungenNormalerweise automatisch

Durch Einhaltung der SemVer-Regeln können Sie die Versionsverwaltung vereinfachen und reibungslosere Updates über Ihre Bereitstellungskanäle gewährleisten.

Versionskontroll-Richtlinien

Capgo ermöglicht es Ihnen, Bereitstellungen effektiv zu verwalten, indem Sie verschiedene Kanäle für unterschiedliche Phasen Ihres Workflows einrichten.

  • Kanalbasierte Versionsverwaltung: Organisieren Sie Ihren Bereitstellungsprozess durch separate Kanäle für Tests und Produktion. Zum Beispiel:

    • Nutzen Sie einen “beta”-Kanal (z.B. 1.2.0-beta) zum Testen neuer Features.
    • Behalten Sie einen “production”-Kanal (z.B. 1.2.0) für stabile Releases.
    • Fügen Sie plattformspezifische Kanäle hinzu (z.B. “ios-hotfix” mit Version 1.2.1) für plattformspezifische Probleme.
  • Update-Richtlinien-Konfiguration: Steuern Sie, wie Updates mit Capgos Konfigurationsoptionen angewendet werden. Zum Beispiel:

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

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

  • Versions-Rollback-Strategie: Verwenden Sie Pre-Release-Kennzeichner, um klare Rollback-Optionen zu behalten. Dieser Ansatz ermöglicht es Ihnen, zu einer vorherigen Version zurückzukehren, wenn Probleme auftreten, während die Versionierung über alle Kanäle hinweg konsistent bleibt.

Diese Best Practices erleichtern es, Updates zu verwalten, neue Features zu testen und die Stabilität im Bereitstellungsprozess Ihrer App aufrechtzuerhalten.

OTA Update Bereitstellung

Sobald Ihre Versionsverwaltung eingerichtet ist, folgen Sie diesen Schritten zur effektiven Bereitstellung von OTA-Updates.

Update-Vorbereitung

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

  • Fehlerbehebung: Erhöhen Sie die PATCH-Nummer (z.B. 1.0.1 → 1.0.2)
  • Neues Feature: 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)

Testen Sie Ihren Build gründlich und bestätigen Sie, dass die App mit dem Server über notifyAppReady kommuniziert.

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

  • Auto-Update: Automatische Durchsetzung von Mindestversionsanforderungen.
  • Manuelle Kontrolle: Genaue Versionsanforderungen für Updates festlegen.
  • Kanalbasiert: Kanäle für Tests und stufenweise Rollouts nutzen.

Capgo CLI Update-Befehle

Nutzen Sie Capgos CLI zur einfachen Bereitstellung Ihres Updates. So geht’s:

Terminal window
# 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 [channelId] [appId]

Capgo gewährleistet sichere Bereitstellung mit Ende-zu-Ende-Verschlüsselung und sicherem Schlüsselmanagement.

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

Nach der Bereitstellung können Sie Updates über Capgos Dashboard überwachen. Updates erreichen Benutzer typischerweise innerhalb von Minuten nach dem Öffnen der App. Der Prozess funktioniert wie folgt:

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

Für Unternehmens-Bereitstellungen möchten Sie möglicherweise CI/CD-Automatisierung integrieren.

“Wir praktizieren agile Entwicklung und @Capgo ist mission-kritisch bei der kontinuierlichen Auslieferung an unsere Nutzer!”

Problemlösung und Tipps

Versionsverwaltungs-Probleme

Die Verwaltung von Semantic Versioning in Capgo kann manchmal die Update-Bereitstellung verkomplizieren. Um Ihre Entwicklungsarbeit nicht zu überschreiben, konfigurieren Sie Folgendes in Ihrer capacitor.config.json Datei:

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

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

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

Für Major-Version-Updates verwenden Sie das disableAutoUpdateBreaking Flag und hören Sie auf das majorAvailable Event, um Updates ordnungsgemäß zu handhaben:

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 können Sie Versionskonsistenz aufrechterhalten und Fehler reduzieren.

Team-Versionskontrolle

Sobald einzelne Updates verwaltet werden, ist es wichtig für Teams, starke Versionskontroll-Praktiken zu etablieren.

“Das Testen jeder Änderung vor dem Zusammenführen mit dem Hauptrepository wird die Stabilität stärken und kostspielige Fehler vermeiden” [4]

Hier sind einige Methoden zur Gewährleistung der Konsistenz:

  • Definieren Sie einen Branch als Hauptrepository, der als Quelle der Wahrheit dient.
  • Nutzen Sie separate Capgo-Kanäle für Entwicklungs- und Produktionsumgebungen.
  • Automatisieren Sie Versions-Uploads ü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
ProduktionstableAktiviertx.x.x

Update-Wiederherstellungsschritte

Selbst mit Vorsichtsmaßnahmen können Updates fehlschlagen. Wenn das passiert, folgen Sie diesen Wiederherstellungsschritten:

  1. Zurück zu einem vorherigen stabilen Bundle.
  2. Versionsnummern für neue Korrekturen erhöhen (Hinweis: Versionsnummern können nach dem Löschen nicht wiederverwendet werden) [2].
  3. Updates beim App-Start überprüfen, um sicherzustellen, dass sie wie erwartet funktionieren.

Der Updater von Capgo ist darauf ausgelegt, mit Störungen umzugehen. Wenn beispielsweise der Server nicht erreichbar ist oder ein Update gelöscht wurde, funktioniert die App weiterhin normal [3]. Zusätzlich werden fehlgeschlagene Netzwerkanfragen beim nächsten App-Start automatisch wiederholt [3]. Diese eingebaute Widerstandsfähigkeit minimiert Ausfallzeiten und gewährleistet einen reibungsloseren Betrieb.

Zusammenfassung

Semantische Versionierung 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], wurden Bereitstellungsprozesse um 81% effizienter [1]. Diese Einrichtung ermöglicht es Entwicklern, Updates schnell und kontrolliert zu veröffentlichen und dabei App-Store-Verzögerungen zu umgehen.

Das sagen Entwickler:

“Wir haben Capgo OTA-Updates in der Produktion für unsere Nutzerbasis von +5000 eingeführt. Wir sehen einen sehr reibungslosen Betrieb, fast alle unsere Nutzer sind innerhalb von Minuten nach der Bereitstellung des OTA bei @Capgo auf dem neuesten Stand.” - colenso [1]

Das MAJOR.MINOR.PATCH-Versionierungssystem macht es einfach, Breaking Changes, neue Funktionen und Fehlerbehebungen zu kommunizieren [5]. Dies ist besonders hilfreich für Teams, die mehrere Releases pro Woche über Capgos Plattform verwalten.

Capgos verschlüsselte Lösung, integriert mit CI/CD-Tools, ist auch kostengünstig - sie spart über fünf Jahre bis zu 26.100 $ [1]. Die anpassbaren Kanäle stellen sicher, dass Updates die richtigen Nutzer zum richtigen Zeitpunkt erreichen.

“Wir praktizieren agile Entwicklung und @Capgo ist mission-kritisch bei der kontinuierlichen Auslieferung an unsere Nutzer!” - Rodrigo Mantica [1]

Sofortige Updates für CapacitorJS Apps

Pushen Sie Updates, Fixes und Funktionen sofort auf Ihre CapacitorJS-Apps ohne App Store Verzögerungen. Erleben Sie nahtlose Integration, Ende-zu-Ende-Verschlüsselung und Echtzeit-Updates mit Capgo.

Jetzt starten

Neueste Nachrichten

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