Aller directement au contenu principal

Comment utiliser la versionnement sémantique avec les mises à jour OTA de Capgo

Découvrez comment simplifier les mises à jour et le contrôle de version de vos applications en utilisant la versionnement sémantique avec les mises à jour OTA de Capgo pour les applications Capacitor.

Martin Donadieu

Martin Donadieu

Spécialiste du contenu

Comment utiliser la versionnement sémantique avec les mises à jour OTA de Capgo

Vous souhaitez simplifier les mises à jour de vos applications Mises à jour de vos applications et contrôle de version ? La versionnement sémantique (SemVer) combinée avec Capgoles mises à jour Over-The-Air (OTA) de __CAPGO_KEEP_0__ Capacitor Bases de la versionnement sémantique :

  • Les versions utilisent la forme MAJOR : MAJOR.MINOR.PATCH:

    • Pour les modifications de rupture. MINOR :
    • Pour les nouvelles fonctionnalités qui sont compatibles avec les versions précédentes. Pour les corrections de bogues.
    • PATCH: Pour les corrections de bogues.
  • Pourquoi Utiliser SemVer avec Capgo?

    • Communication claire sur les mises à jour.
    • Gestion de version plus intelligente.
    • Éviter les conflits de dépendances.
    • Planification de la mise en production organisée.
  • Capgo Configuration Étapes :

    1. Installez le plugin de mise à jour de Capgo.
    2. Configurez la version de votre application dans capacitor.config.json et d'autres fichiers.
    3. Initialisez avec votre clé API.
    4. Utilisez Capgo CLI pour packager et télécharger les mises à jour.
  • Gestion des Versions et des Canaux:

    • Utilisez des canaux séparés (par exemple, « beta » pour les tests, « production » pour les versions stables).
    • Contrôlez les politiques de mise à jour (mise à jour automatique des correctifs, approbation manuelle pour les changements majeurs).
    • Options de reversion pour les mises à jour échouées.
  • Processus de déploiement :

    • Mettez à jour les numéros de version en suivant les règles de SemVer.
    • Testez soigneusement avant de déployer.
    • Utilisez les commandes CLI pour télécharger 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é. Parfait pour les équipes utilisant des workflows CI/CD pour automatiser les mises à jour.

Conseil Rapide : Testez toujours les mises à jour et utilisez les canaux pour gérer les déploiements étalés de manière efficace.

Numérotation Sémantique | Améliorez votre niveau

Capgo Guide de configuration

Capgo Interface de tableau de bord de mise à jour en direct

Voici comment configurer Capgo pour gérer les mises à jour OTA et le contrôle de version avec facilité.

Étapes d'initialisation

Commencez par installer le Capgo plugin de mise à jour:

npm install @capgo/capacitor-updater  
npx cap sync

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

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

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

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

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

npx @capgo/cli@latest init YOUR_API_KEY

Tableau de référence rapide :

Phase de configurationAction de cléÉtape de vérification
InstallationInstaller le plugin et synchroniserVérifier package.json
ConfigurationDéfinir les numéros de versionVérifier dans tous les fichiers
InitialisationSe connecter avec la clé APITester l'état de la connexion
ConstructionCréer un premier bundleConfirmer le succès de l'envoi

Gestion de version

Capgo fonctionne bien avec les plateformes CI/CD, ce qui rend les mises à jour automatiques simples. Les plateformes prises en charge incluent :

Si vous travaillez sur un développement local, vous pouvez désactiver les mises à jour automatiques en ajoutant cela à votre configuration :

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

Cela s'assure que Capgo ne surécrira pas vos modifications locales. Une fois votre configuration prête, téléchargez votre première version :

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

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

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

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

Utilisation de la versionnement sémantique avec Capgo

Gestion du numéro de version

Capgo utilise la versionnement sémantique (SemVer) pour gérer les versions des applications, sous la forme MAJOR.MINOR.PATCHVoici comment cela fonctionne :

  • Version majeure (X.0.0): Augmentez le numéro MAJOR pour les changements qui brisent la compatibilité.
  • Version mineure (1.X.0): Augmentez le numéro MINOR pour les nouvelles fonctionnalités qui restent compatibles.
  • Version de correctif (1.0.X): Augmentez le numéro PATCH pour les correctifs qui ne touchent pas la compatibilité.
Version TypeQuand incrémenterComportement de mise à jour automatique
Majeur (X.0.0)Pour les modifications de rupture APIExige une approbation manuelle
Mineur (1.X.0)Pour de nouvelles fonctionnalitésConfigurable dans Capgo
Patch (1.0.X)Pour les corrections de boguesGénéralement automatique

En suivant les règles de SemVer, vous pouvez simplifier la gestion des versions et vous assurer d'une mise à jour plus fluide dans vos canaux de déploiement.

Lignes Directrices de Contrôle de Version

Capgo vous permet de gérer efficacement vos déploiements en configurant des canaux distincts pour différentes étapes de votre flux de travail.

  • Gestion de Version par CanalOrganisez votre processus de déploiement en créant des canaux séparés pour les tests et la production. Par exemple :

    • Utilisez un « canal de beta » (par exemple, 1.2.0-beta) pour tester de nouvelles fonctionnalités.
    • Conservez un « canal de production » (par exemple, 1.2.0) pour les versions stables.
    • Ajoutez des canaux spécifiques aux plateformes (par exemple, « ios-hotfix » avec la version 1.2.1) lors de la résolution de problèmes spécifiques aux plateformes.
  • Configuration de la Politique d'ActualisationContrôlez comment les mises à jour sont appliquées à l'aide des options de configuration de Capgo . Par exemple :

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

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

  • Stratégie de Reversion de Version: Utilisez les identifiants de version préalable pour maintenir des options de reversion claires. Cette approche vous permet de revenir à une version précédente si des problèmes se produisent, tout en maintenant la versionnement cohérent à travers tous les canaux.

Ces meilleures pratiques facilitent la gestion des mises à jour, la test de nouvelles fonctionnalités et maintenir la stabilité dans le processus de déploiement de votre application.

sbb-itb-f9944d2

Déploiement d'Update OTA

Une fois votre configuration de gestion de version prête, suivez ces étapes pour déployer les mises à jour OTA de manière efficace.

Préparation de la mise à jour

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

  • Correction de bogues: Augmentez le numéro PATCH (par exemple, 1.0.1 → 1.0.2)
  • Nouvelle fonctionnalité: Augmentez le numéro MINOR (par exemple, 1.0.0 → 1.1.0)
  • Changement de rupture: Augmentez le numéro MAJOR (par exemple, 1.0.0 → 2.0.0)

Testez soigneusement votre build et confirmez que l'application se communique avec le serveur en utilisant notifyAppReady.

Décidez ensuite de votre stratégie d'actualisation. Vous pouvez choisir parmi :

  • Mise à jour automatique: Appliquez automatiquement les exigences de version minimale.
  • Contrôle manuel: Spécifiez les exigences de version exactes pour les mises à jour.
  • Channel-Based: Utilisez les canaux pour les tests et les déploiements étalés.

Capgo CLI Commandes d'actualisation

Utilisez Capgo’s CLI pour déployer votre mise à jour avec facilité. Voici comment :

# 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 garantit un déploiement sécurisé avec une encryption de bout en bout et une gestion des clés sûre.

“@Capgo est une façon intelligente de faire des pushs chauds de code (et pas pour tout l'argent du monde comme avec @AppFlow) 🙂”

Une fois déployée, vous pouvez surveiller les mises à jour à travers le tableau de bord de Capgo. Les mises à jour atteignent généralement les utilisateurs dans les minutes qui suivent leur ouverture de l'application. Le processus fonctionne comme suit :

  • L'application vérifie les mises à jour.
  • Télécharge l'actualisation en arrière-plan.
  • Marque la nouvelle version comme active lorsque l'utilisateur quitte l'application.
  • Applique l'actualisation lors du prochain lancement.

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

“Nous pratiquons le développement agile et @Capgo est essentiel pour livrer continuellement à nos utilisateurs !”

Résolution de problèmes et conseils

Problèmes de gestion de version

La gestion de la versionnement semantique dans Capgo peut parfois compliquer les déploiements d'actualisation. Pour éviter d'effacer 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éfinir autoUpdate à false pendant le développement.
  • Désinstaller l'application.
  • La réinstaller avec la version corrigée.
  • Réactivez les mises à jour automatiques une fois que tout est stable.

Pour les mises à jour de version majeure, utilisez la disableAutoUpdateBreaking flag et écoutez l'événement majorAvailable pour gérer les mises à jour correctement :

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 de la version et réduire les erreurs.

Contrôle de Version Équipe

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

“Il est essentiel de tester chaque changement avant de le fusionner avec le dépôt principal pour renforcer la stabilité et éviter des erreurs coûteuses” [4]

Voici quelques méthodes pour s'assurer de la cohérence :

  • Définissez une branche comme le dépôt principal pour agir comme source de vérité.
  • Use separate Capgo channels for development and production environments.
  • Automatisez les mises à jour de version via les pipelines CI/CD.
  • Document all code changes with clear and detailed commit messages.

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

EnvironnementCanalMise à jour automatiqueModèle de version
DéveloppementdevDésactivé0.x.x
Pré-productionbêtaActivéx.x.x-bêta
ProductionstableActivéx.x.x

Étapes de récupération de mise à jour

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

  1. Revenir à une version stable précédente.
  2. Augmenter les numéros de version pour les nouveaux correctifs (remarque : les numéros de version ne peuvent pas être réutilisés après suppression) [2].
  3. Vérifiez les mises à jour pendant le démarrage de l'application pour vous assurer qu'elles fonctionnent comme prévu.

Capgo's mise à jour est conçue pour gérer les interruptions. Par exemple, si le serveur est inaccessible ou une mise à jour est supprimée, l'application continue à fonctionner normalement. [3]En outre, les requêtes réseau échouées sont automatiquement réessayées lors du lancement suivant de l'application. [3]Cette résilience intégrée minimise les temps d'arrêt et assure des opérations plus fluides.

Résumé

La versionnement semantique combinée à Capgo a rendu les mises à jour OTA pour les applications Capacitor plus efficaces. Avec 947,6 millions de mises à jour délivrées et 1 400 applications de production utilisant ce système, les processus de déploiement ont été 81 % plus efficaces. [1]Cet ensemble permet aux développeurs de déployer des mises à jour rapidement et de manière contrôlée, en contournant les retards des magasins d'applications. [1]C'est ce que disent les développeurs :

“Nous avons déployé les mises à jour OTA __CAPGO_KEEP_0__ en production pour notre base d'utilisateurs de + 5000. Nous constatons une opération très fluide, presque tous nos utilisateurs sont à jour dans les minutes qui suivent le déploiement de la mise à jour OTA sur @__CAPGO_KEEP_0__.” - colenso

Summary Capgo OTA updates 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]

Le système de versionnage MAJOR.MINOR.PATCH facilite la communication des changements de rupture, des nouvelles fonctionnalités et des correctifs de bogues. [5]Cela est particulièrement utile pour les équipes gérant plusieurs versions chaque semaine via la plateforme de Capgo.

Capgo’s solution chiffrée, intégrée aux outils CI/CD, est également abordable - réduisant les coûts de jusqu'à 26 100 $ sur cinq ans [1]Ses canaux personnalisables assurent que les mises à jour atteignent les utilisateurs appropriés au bon moment.

“Nous pratiquons le développement agile et @Capgo est essentiel à la livraison continue à nos utilisateurs !” - Rodrigo Mantica [1]

Mises à jour en temps réel pour les applications Capacitor

Lorsqu'un bug de la couche web est en ligne, expédiez la correction par Capgo au lieu d'attendre des jours pour l'approbation de la boutique d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les modifications natives restent dans la voie de revue normale.

Commencez maintenant

Dernières actualités de notre Blog

Capgo vous donne les meilleures informations dont vous avez besoin pour créer une application mobile vraiment professionnelle.