Aller au contenu principal

Comment utiliser le versionnage sémantique avec les mises à jour OTA Capgo

Apprenez à optimiser les mises à jour d'app et le contrôle de version grâce au Semantic Versioning avec les live updates de Capgo pour les apps Capacitor.

Comment utiliser le Semantic Versioning avec les live updates de Capgo Capgo illustration blog

Vous voulez simplifier mises à jour d'app et le contrôle de version ? Versionnage sémantique (SemVer) combiné avec Capgoles mises à jour Over-The-Air (OTA) de Capgo facilitent la gestion Capacitor applications, plus rapidement. Voici comment faire :

  • Les bases du Semantic Versioning : Les versions utilisent le format MAJOR.MINOR.PATCH:

    • MAJOR : Pour les changements majeurs (breaking changes).
    • MINOR : Pour les nouvelles fonctionnalités rétrocompatibles.
    • PATCH : Pour les corrections de bugs.
  • Pourquoi utiliser SemVer avec Capgo ?

    • Une communication claire sur les mises à jour.
    • Une gestion des versions plus intelligente.
    • Évitez les conflits de dépendances.
    • Une planification des releases organisée.
  • Configuration Capgo Étapes :

    1. Installez le plugin updater de Capgo.
    2. Configurez la version de votre app dans capacitor.config.json et les autres fichiers.
    3. Initialisez avec votre clé API.
    4. Utiliser Capgo CLI pour créer le bundle et envoyer les mises à jour.
  • Gérer les versions et les canaux:

    • Utilisez des canaux distincts (par ex. « beta » pour les tests, « production » pour les releases stables).
    • Contrôlez vos politiques de mise à jour (auto-update des patchs, approbation manuelle pour les changements majeurs).
    • Options de rollback pour les mises à jour échouées.
  • Processus de déploiement :

    • Mettez à jour les numéros de version selon les règles SemVer.
    • Testez minutieusement avant de déployer.
    • Utilisez les commandes CLI pour envoyer et distribuer les mises à jour.

Capgo garantit que les mises à jour atteignent les utilisateurs rapidement et de manière fiable, avec des outils pour gérer les interruptions et maintenir la stabilité. Idéal pour les équipes utilisant des workflows CI/CD pour automatiser les mises à jour.

Astuce rapide : Testez toujours les mises à jour et utilisez les canaux pour gérer efficacement les déploiements progressifs.

Versioning sémantique | Passez au niveau supérieur

Capgo Setup Guide

Interface du dashboard Capgo Live Update

Voici comment configurer Capgo pour gérer facilement vos mises à jour OTA et votre contrôle de version.

Étapes de configuration initiale

Commencez par installer le plugin updater Capgo:

npm install @capgo/capacitor-updater  
npx cap sync

Assurez-vous que votre capacitor.config.json le fichier utilise un format de version sémantique :

{ 
  "appId": "com.example.app", 
  "appName": "My App", 
  "version": "1.0.0" 
}

Pour les projets plus anciens, mettez à jour les détails de version dans ces emplacements :

  • package.json (cherchez le version champ)
  • android/app/build.gradle (mise à jour versionName)
  • ios/App/App.xcodeproj/project.pbxproj (mise à jour CURRENT_PROJECT_VERSION)

Une fois configuré, initialisez Capgo avec votre clé API :

npx @capgo/cli@latest init YOUR_API_KEY

Tableau de référence rapide :

Setup Phase Action clé Étape de vérification
Installation Installer le plugin et synchroniser Vérifier package.json
Configuration Définir les numéros de version Vérifier tous les fichiers
Initialisation Se connecter avec la clé API Tester l'état de la connexion
Build Créer le bundle initial Confirmer le succès de l'upload

Intégration du contrôle de version

Capgo works well with CI/CD platforms, making mises à jour automatisées simple. Les plateformes supportées incluent :

Si vous travaillez en développement local, vous pouvez désactiver les auto-updates en ajoutant ceci à votre configuration :

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

Cela garantit que Capgo n'écrasera pas vos modifications locales. Une fois votre configuration prête, envoyez votre première version :

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

Enfin, informez le plugin natif de l'état de santé du bundle dans le fichier principal de votre app :

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

Cette configuration garantit que votre application est prête pour des déploiements OTA et une gestion de version fluides.

Utiliser le Semantic Versioning avec Capgo

Gestion du numéro de version

Capgo utilise le versionnement sémantique (SemVer) pour gérer les versions d'app, formatées ainsi : MAJOR.MINOR.PATCH. Voici comment cela fonctionne :

  • Version majeure (X.0.0): Augmentez le numéro MAJOR pour les changements qui rompent la compatibilité.
  • Version mineure (1.X.0): Augmentez le numéro MINOR pour les nouvelles fonctionnalités qui restent compatibles.
  • Version patch (1.0.X): Augmentez le numéro PATCH pour les correctifs de bugs sans impact sur la compatibilité.
Type de version Quand incrémenter Comportement de l'auto-update
Majeur (X.0.0) Pour les changements API incompatibles Nécessite une approbation manuelle
Mineur (1.X.0) Pour les nouvelles fonctionnalités Configurable dans Capgo
Correctif (1.0.X) Pour les corrections de bugs Généralement automatique

En respectant les règles SemVer, vous simplifiez la gestion des versions et garantissez des mises à jour plus fluides sur vos canaux de déploiement.

Directives de contrôle de version

Capgo vous permet de gérer vos déploiements efficacement en configurant des canaux distincts pour chaque étape de votre workflow.

  • Gestion des versions par canal: Organisez votre processus de déploiement en créant des canaux distincts pour le test et la production. Par exemple :

    • Utilisez un canal « beta » (ex : 1.2.0-beta) pour tester les nouvelles fonctionnalités.
    • Gardez un canal « production » (ex : 1.2.0) pour les releases stables.
    • Ajoutez des canaux spécifiques à une plateforme (ex : « ios-hotfix » en version 1.2.1) pour traiter des problèmes propres à une plateforme.
  • Configuration de la politique de mise à jour: Contrôlez l'application des mises à jour via les options de configuration de Capgo. Par exemple :

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

    Cette configuration garantit que les utilisateurs reçoivent automatiquement les patchs, tandis que les mises à jour mineures et majeures nécessitent une approbation manuelle.

  • Stratégie de rollback de version: Utilisez des identifiants de pré-release pour conserver des options de rollback claires. Cette approche vous permet de revenir à une version précédente en cas de problème, tout en gardant un versioning cohérent sur tous les canaux.

Ces bonnes pratiques simplifient la gestion des mises à jour, le test des nouvelles fonctionnalités et le maintien de la stabilité de votre déploiement.

sbb-itb-f9944d2

Déploiement de mises à jour OTA

Une fois votre gestion de versions prête, suivez ces étapes pour déployer vos mises à jour OTA efficacement.

Préparation de la mise à jour

Commencez par mettre à jour la version dans package.json et capacitor.config.json. Assurez-vous que la version respecte le format SemVer (MAJOR.MINOR.PATCH) :

  • Bug Fix : Augmentez le numéro PATCH (ex: 1.0.1 → 1.0.2)
  • New Feature : Augmentez le numéro MINOR (ex: 1.0.0 → 1.1.0)
  • Breaking change: Augmentez le numéro majeur (ex. : 1.0.0 → 2.0.0)

Testez minutieusement votre build et confirmez que l'app communique avec le serveur via notifyAppReady.

Ensuite, déterminez votre stratégie de mise à jour. Vous pouvez choisir parmi :

  • Mise à jour auto: Appliquez automatiquement les exigences de version minimale.
  • Contrôle manuel: Spécifiez des exigences de version exactes pour les mises à jour.
  • Basé sur les canaux: Utilisez des canaux pour les tests et les déploiements progressifs.

Commandes de CLI Capgo Update

Use Capgo’s CLI to deploy your update with ease. Here’s how:

# 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 garantit un déploiement sécurisé grâce au chiffrement de bout en bout et à une gestion sûre des clés.

« @Capgo est un moyen intelligent de faire des pushes code à chaud (et pas pour tout l'argent du monde comme avec @AppFlow) 🙂 »

Une fois déployée, vous pouvez suivre les mises à jour via le dashboard de Capgo. Les mises à jour atteignent généralement les utilisateurs en quelques minutes après l'ouverture de l'app. Le processus fonctionne ainsi :

  • L'app recherche les mises à jour.
  • Télécharge la mise à jour en arrière-plan.
  • Marque la nouvelle version comme active quand l'utilisateur quitte l'app.
  • Applique la mise à jour au prochain lancement.

Pour les déploiements de niveau entreprise, vous pourriez vouloir intégrer l'automatisation CI/CD.

« Nous pratiquons le développement agile et @Capgo est indispensable pour livrer en continu à nos utilisateurs ! »

Résolution de problèmes et conseils

Problèmes de gestion des versions

La gestion du versionnage sémantique dans Capgo peut parfois compliquer le déploiement des mises à jour. Pour éviter d'écraser votre travail de développement, configurez les éléments suivants dans votre capacitor.config.json fichier :

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

Si une mise à jour échoue, voici ce que vous pouvez faire :

  • Définissez autoUpdate vers false pendant le développement.
  • Désinstallez l'application.
  • Réinstallez-l’avec la version corrigée.
  • Réactivez les mises à jour automatiques une fois que tout est stable.

For major version updates, use the disableAutoUpdateBreaking flag et surveillez le majorAvailable event to handle updates properly:

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

En combinant ces configurations avec de bonnes pratiques d'équipe, vous pouvez maintenir la cohérence des versions et réduire les erreurs.

Contrôle de version en équipe

Une fois les mises à jour individuelles gérées, il est crucial pour les équipes d'établir des pratiques de contrôle de version solides.

« Tester chaque changement avant de le fusionner avec le dépôt principal renforcera la stabilité et évitera des erreurs coûteuses » [4]

Voici quelques méthodes pour garantir la cohérence :

  • Définissez une branche comme le dépôt principal pour servir de source de vérité.
  • Utilisez des canaux Capgo distincts pour les environnements de développement et de production.
  • Automatisez l'upload des versions via des pipelines CI/CD.
  • Documentez tous les changements code avec des messages de commit clairs et détaillés.

Pour les équipes plus importantes, la matrice de gestion de versions suivante peut aider à organiser les mises à jour :

Environnement Canal Mise à jour auto Modèle de version
Développement dev Désactivé 0.x.x
Scénographie bêta Activé x.x.x-beta
la production stable Activé x.x.x

Étapes de récupération des mises à jour

Même avec des précautions, les mises à jour peuvent échouer. Si cela arrive, suivez ces étapes de récupération :

  1. Effectuez un rollback vers un bundle stable précédent.
  2. Incrémentez les numéros de version pour chaque nouveau correctif (note : les numéros de version ne peuvent pas être réutilisés après suppression) [2].
  3. Verify updates during app startup to ensure they work as expected.

L'updater de Capgo est conçu pour gérer les interruptions. Par exemple, si le serveur est injoignable ou si une mise à jour est supprimée, l'app continue de fonctionner normalement [3]. De plus, les requêtes réseau échouées sont automatiquement retestées lors du prochain lancement de l'app [3]. Cette résilience intégrée minimise les interruptions et garantit des opérations plus fluides.

Résumé

Le Semantic Versioning, combiné à Capgo, a rendu les mises à jour OTA pour les applications Capacitor plus efficaces. Avec 947,6 millions de mises à jour livrées et 1 400 applications en production utilisant ce système [1], les processus de déploiement sont devenus 81 % plus efficaces [1]Cette configuration permet aux développeurs de déployer des mises à jour rapidement et de manière contrôlée, en contournant les délais des stores.

Voici ce que disent les développeurs :

« Nous avons déployé Capgo mises à jour OTA en production pour notre base de +5000 utilisateurs. Le fonctionnement est très fluide : presque tous nos utilisateurs sont à jour quelques minutes seulement après le déploiement de l'OTA sur @Capgo.” - colenso [1]

Le système de versionnage MAJOR.MINOR.PATCH facilite la communication des breaking changes, des nouvelles fonctionnalités et des correctifs de bugs [5]. C'est particulièrement utile pour les équipes gérant plusieurs releases chaque semaine via la plateforme de Capgo.

de Capgo solution chiffrée, intégrée aux outils CI/CD, est aussi économique — avec des économies allant jusqu'à 26 100 $ sur cinq ans [1]. Ses canaux personnalisables garantissent que les mises à jour atteignent les bons utilisateurs au bon moment.

« Nous pratiquons le développement agile et @Capgo est essentiel pour livrer en continu à nos utilisateurs ! » - Rodrigo Mantica [1]

Continuer avec Comment utiliser le versionnement sémantique avec les Capgo OTA Updates

Si vous utilisez Comment utiliser le versionnage sémantique avec les mises à jour OTA Capgo pour planifier le rollback et le contrôle de version, connectez-l’à Rollbacks pour les détails d'implémentation dans Rollbacks, Ciblage de version pour les détails d'implémentation dans Version Targeting, Comportement de mise à jour pour les détails d'implémentation du comportement des mises à jour, bundle pour les détails d'implémentation du bundle, et Capgo Live Updates pour le workflow produit dans Capgo Live Updates.

Live updates pour les apps Capacitor

Lorsqu'un bug de la couche web est en ligne, déployez le correctif via Capgo au lieu d'attendre des jours l'approbation des stores. Les utilisateurs reçoivent la mise à jour en arrière-plan, tandis que les changements natifs suivent le circuit de validation habituel.

Les derniers articles du blog

Capgo vous offre les meilleures informations pour créer une application mobile vraiment professionnelle.