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:
- Installiere das Updater-Plugin von Capgo.
- Konfiguriere die App-Version in
capacitor.config.jsonund anderen Dateien. - Initialisiere mit deinem API-Key.
- 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

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 demversionFeld)android/app/build.gradle(updateversionName)ios/App/App.xcodeproj/project.pbxproj(updateCURRENT_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
autoUpdatezufalsewä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:
- Auf ein vorheriges stabiles Bundle zurückrollen.
- Versionsnummern für neue Fixes erhöhen (Hinweis: Versionsnummern können nach der Löschung nicht wiederverwendet werden) [2].
- 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.