Vuoi semplificare app più veloci e il controllo delle versioni? Versioning Semantico (SemVer) combinato con Capgogli aggiornamenti Over-The-Air (OTA) di Capacitor più facile e veloce. Ecco come:
-
Fondamenti del Semantic Versioning: Le versioni usano il formato
MAJOR.MINOR.PATCH:- MAJOR: Per modifiche non retrocompatibili.
- MINOR: Per nuove funzionalità retrocompatibili.
- PATCH: Per le correzioni di bug.
-
Perché usare SemVer con Capgo?
- Comunicazione chiara sugli update.
- Gestione delle versioni più intelligente.
- Evita conflitti di dipendenze.
- Pianificazione delle release organizzata.
-
Setup di Capgo Passaggi:
- Installa il plugin updater di Capgo.
- Configura la versione della tua app in
capacitor.config.jsone in altri file. - Inizializza con la tua chiave API.
- Usa Capgo CLI per bundle e upload degli aggiornamenti.
-
- Usa canali separati (es. “beta” per i test, “production” per le release stabili).
- Controlla le policy di aggiornamento (patch auto-aggiornate, approvazione manuale per i cambiamenti maggiori).
- Opzioni di rollback per gli aggiornamenti falliti.
-
Processo di deployment:
- Aggiorna i numeri di versione seguendo le regole SemVer.
- Testa accuratamente prima del deployment.
- Usa i comandi CLI per upload e distribuzione degli aggiornamenti.
Capgo garantisce che gli aggiornamenti raggiungano gli utenti in modo rapido e affidabile, con strumenti per gestire interruzioni e mantenere la stabilità. Ideale per team che usano workflow CI/CD per automatizzare gli aggiornamenti.
Consiglio rapido: Testa sempre gli aggiornamenti e usa i canali per gestire i rollout graduali in modo efficace.
Semantic Versioning | Sali di livello
Capgo Setup Guide

Ecco come configurare Capgo per gestire gli aggiornamenti OTA e il versioning con facilità.
Passaggi per la configurazione iniziale
Inizia installando il plugin updater di Capgo:
npm install @capgo/capacitor-updater
npx cap sync
Assicurati che la tua capacitor.config.json il file usa un formato di versione semantica:
{
"appId": "com.example.app",
"appName": "My App",
"version": "1.0.0"
}
Per i progetti più vecchi, aggiorna i dettagli della versione in queste posizioni:
package.json(look for theversioncampo)android/app/build.gradle(aggiornaversionName)ios/App/App.xcodeproj/project.pbxproj(aggiornaCURRENT_PROJECT_VERSION)
Una volta configurato, inizializza Capgo con la tua chiave API:
npx @capgo/cli@latest init YOUR_API_KEY
Tabella di riferimento rapido:
| Setup Phase | Azione chiave | Passaggio di verifica |
|---|---|---|
| Installazione | Installa il plugin e sincronizza | Verifica package.json |
| Configurazione | Imposta i numeri di versione | Verifica in tutti i file |
| Inizializzazione | Connetti con la chiave API | Testa lo stato della connessione |
| Build | Crea il bundle iniziale | Conferma il successo dell'upload |
Integrazione con il version control
Capgo funziona bene con le piattaforme CI/CD, rendendo aggiornamenti automatici semplice. Le piattaforme supportate includono:
Se stai lavorando in locale, puoi disabilitare gli auto-update aggiungendo questo alla tua configurazione:
{
"plugins": {
"CapacitorUpdater": {
"autoUpdate": false
}
}
}
In questo modo Capgo non sovrascriverà le tue modifiche locali. Quando il setup è pronto, carica la tua prima versione:
npx @capgo/cli@latest bundle upload
npx @capgo/cli@latest channel set production -s default
Infine, notifica al plugin nativo lo stato del bundle nel file principale della tua app:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
CapacitorUpdater.notifyAppReady();
Questa configurazione garantisce che la tua app sia pronta per deployment OTA e gestione delle versioni senza intoppi.
Usare il Semantic Versioning con Capgo
Gestione del numero di versione
Capgo usa Semantic Versioning (SemVer) per gestire le versioni dell'app, nel formato MAJOR.MINOR.PATCH. Ecco come funziona:
- Versione Major (X.0.0): Aumenta il numero MAJOR per modifiche che rompono la compatibilità.
- Versione Minor (1.X.0): Aumenta il numero MINOR per nuove funzionalità che restano compatibili.
- Versione Patch (1.0.X): Aumenta il numero PATCH per correzioni di bug che non influenzano la compatibilità.
| Tipo di versione | Quando incrementare | Comportamento di auto-aggiornamento |
|---|---|---|
| Major (X.0.0) | Per modifiche breaking di API | Richiede approvazione manuale |
| Minore (1.X.0) | Per nuove funzionalità | Configurabile in Capgo |
| Patch (1.0.X) | Per correzioni di bug | Di solito automatico |
Seguendo le regole SemVer, puoi semplificare la gestione delle versioni e garantire aggiornamenti più fluidi tra i tuoi canali di deployment.
Linee guida per il Version Control
Capgo ti consente di gestire i deployment in modo efficace configurando canali distinti per le diverse fasi del tuo workflow.
-
Gestione delle versioni basata su canali: Organizza il processo di deployment creando canali separati per test e produzione. Ad esempio:
- Usa un canale “beta” (es. 1.2.0-beta) per testare nuove funzionalità.
- Mantieni un canale “production” (es. 1.2.0) per le release stabili.
- Aggiungi canali specifici per piattaforma (es. “ios-hotfix” con versione 1.2.1) quando risolvi problemi specifici della piattaforma.
-
Configurazione della policy di aggiornamento: Controlla come vengono applicati gli aggiornamenti tramite le opzioni di configurazione di Capgo. Ad esempio:
{ "plugins": { "CapacitorUpdater": { "disableAutoUpdate": "minor" } } }Questa configurazione garantisce che gli utenti ricevano automaticamente gli aggiornamenti patch, mentre gli aggiornamenti minor e major richiedono l'approvazione manuale.
-
Strategia di rollback delle versioni: Usa identificatori pre-release per mantenere opzioni di rollback chiare. Questo approccio ti consente di tornare a una versione precedente se si verificano problemi, mantenendo la versioning coerente su tutti i canali.
Queste best practice semplificano la gestione degli aggiornamenti, il test di nuove funzionalità e il mantenimento della stabilità nel processo di deployment della tua app.
sbb-itb-f9944d2
Deployment di OTA Update
Una volta configurata la gestione delle versioni, segui questi passaggi per distribuire in modo efficace gli aggiornamenti OTA.
Preparazione dell'aggiornamento
Inizia aggiornando la versione in package.json e capacitor.config.json. Assicurati che la versione segua il formato SemVer (MAJOR.MINOR.PATCH):
- Bug Fix: Incrementa il numero PATCH (es. 1.0.1 → 1.0.2)
- Nuova funzionalità: Incrementa il numero MINOR (es. 1.0.0 → 1.1.0)
- Breaking Change: Incrementa il numero MAJOR (es. 1.0.0 → 2.0.0)
Testa accuratamente il tuo build e verifica che l'app comunichi con il server utilizzando notifyAppReady.
Successivamente, decidi il tuo strategia di aggiornamento. Puoi scegliere tra:
- Auto-aggiornamento: Applica automaticamente i requisiti di versione minima.
- Controllo manuale: Specifica i requisiti di versione esatti per gli aggiornamenti.
- Basato su canali: Usa i canali per i test e i rollouts graduali.
Capgo CLI Comandi di update
Usa la CLI di Capgo per distribuire i tuoi update con facilità. Ecco come:
# 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 garantisce deployment sicuri con crittografia end-to-end e gestione sicura delle chiavi.
“@Capgo è un modo intelligente per fare push hot di code (e non a peso d'oro come con @AppFlow) 🙂”
Una volta distribuito, puoi monitorare gli update tramite la dashboard di Capgo. Gli update raggiungono gli utenti in pochi minuti dall'apertura dell'app. Il processo funziona così:
- L'app controlla se ci sono update.
- Scarica l'update in background.
- Segna la nuova versione come attiva quando l'utente esce dall'app.
- Applica l'update al prossimo avvio.
Per deployment di livello enterprise, potresti voler integrare l'automazione CI/CD.
“Lavoriamo in agile e @Capgo è fondamentale per fornire aggiornamenti continui ai nostri utenti!”
Risoluzione dei problemi e consigli
Problemi di gestione delle versioni
Gestire il semantic versioning in Capgo può a volte complicare il deployment degli update. Per evitare di sovrascrivere il tuo lavoro di sviluppo, configura quanto segue nel tuo capacitor.config.json dell'app:
{
"plugins": {
"CapacitorUpdater": {
"autoUpdate": false
}
}
}
Se un update fallisce, ecco cosa puoi fare:
- Imposta
autoUpdateafalsedurante lo sviluppo. - Disinstalla l'app.
- Reinstallala con la versione corretta.
- Riabilita gli auto-update una volta che tutto è stabile.
Per gli update di versioni major, usa il disableAutoUpdateBreaking flag e ascolta il majorAvailable event to handle updates properly:
CapacitorUpdater.addListener('majorAvailable', (info) => {
console.log(`Major update available: ${info.version}`);
// Add your update prompt logic here
});
Combinando queste configurazioni con buone pratiche di team, puoi mantenere la coerenza delle versioni e ridurre gli errori.
Controllo delle versioni del team
Una volta gestiti gli aggiornamenti individuali, è fondamentale per i team stabilire solide pratiche di controllo delle versioni.
“Testare ogni modifica prima di unirla al repository principale rafforza la stabilità ed evita errori costosi” [4]
Ecco alcuni metodi per garantire la coerenza:
- Definisci un branch come repository principale da usare come fonte di verità.
- Usa canali Capgo separati per gli ambienti di sviluppo e produzione.
- Automatizza l'upload delle versioni tramite pipeline CI/CD.
- Documenta tutte le modifiche code con messaggi di commit chiari e dettagliati.
Per i team più grandi, questa matrice di gestione delle versioni può aiutare a organizzare gli update:
| Ambiente | Canale | Auto-aggiornamento | Pattern di versione |
|---|---|---|---|
| Sviluppo | dev | Disabilitato | 0.x.x |
| Staging | beta | Abilitato | x.x.x-beta |
| Produzione | stable | Abilitato | x.x.x |
Procedure di recupero degli aggiornamenti
Anche con le precauzioni, gli aggiornamenti possono fallire. Se ciò accade, segui questi passaggi di recupero:
- Ripristina un bundle stabile precedente.
- Incrementa i numeri di versione per le nuove correzioni (nota: i numeri di versione non possono essere riutilizzati dopo l'eliminazione) [2].
- Verifica gli aggiornamenti all'avvio dell'app per assicurarti che funzionino come previsto.
L'updater di Capgo è progettato per gestire le interruzioni. Ad esempio, se il server non è raggiungibile o un aggiornamento viene eliminato, l'app continua a funzionare normalmente [3]. Inoltre, le richieste di rete non riuscite vengono automaticamente riprovate al successivo avvio dell'app [3]Questa resilienza integrata riduce al minimo i tempi di inattività e garantisce operazioni più fluide.
Riassunto
Il Semantic Versioning, combinato con Capgo, ha reso gli aggiornamenti OTA per le app Capacitor più efficienti. Con 947,6 milioni di aggiornamenti distribuiti e 1.400 app in produzione che usano questo sistema [1], i processi di deployment sono diventati più efficienti dell'81% [1]Questa configurazione permette agli sviluppatori di rilasciare aggiornamenti rapidamente e in modo controllato, saltando i tempi di attesa degli app store.
Ecco cosa dicono gli sviluppatori:
“Abbiamo rilasciato gli aggiornamenti OTA di Capgo in produzione per la nostra base di oltre 5000 utenti. Il funzionamento è molto fluido: quasi tutti i nostri utenti sono aggiornati entro pochi minuti dal deployment dell'OTA su @Capgo.” - colenso [1]
Il sistema di versioning MAJOR.MINOR.PATCH facilita la comunicazione di breaking changes, nuove feature e bug fix [5]Questo è particolarmente utile per i team che gestiscono diversi rilasci ogni settimana tramite la piattaforma di Capgo.
di Capgo soluzione crittografata, integrata con strumenti CI/CD, è anche conveniente: taglia i costi fino a 26.100 $ in cinque anni [1]. I suoi canali personalizzabili garantiscono che gli aggiornamenti raggiungano gli utenti giusti al momento giusto.
“Seguiamo lo sviluppo agile e @Capgo è fondamentale per fornire rilasci continui ai nostri utenti!” - Rodrigo Mantica [1]
Continua la lettura: Come usare il Semantic Versioning con gli Capgo OTA Updates
Se stai usando Come usare il Semantic Versioning con gli Capgo OTA Updates per pianificare rollback e version control, connettilo a Rollback per i dettagli di implementazione nei Rollback, Targeting delle versioni per i dettagli di implementazione nel Version Targeting, Comportamento degli aggiornamenti per i dettagli di implementazione nell'Update Behavior, bundle per i dettagli di implementazione nel bundle, e Live Updates di Capgo per il workflow del prodotto in Capgo Live Updates.