Aller directement au contenu

Rollbacks

Même si les mises à jour en direct de Capgo vous permettent de livrer rapidement des améliorations et des correctifs à vos utilisateurs, il peut y avoir des situations où vous devez revenir à une version précédente de votre application. Peut-être que la mise à jour récente a introduit une erreur critique inattendue, ou peut-être que vous souhaitez rétablir une modification spécifique pendant que vous travaillez sur une correction.

Capgo fournit plusieurs moyens de gérer les builds d'un canal et de contrôler la version de votre application que les utilisateurs reçoivent, y compris les options de retrait manuel et les mécanismes de sécurité automatiques.

Capgo includes a built-in safety mechanism to protect your users from broken updates. If a JavaScript error occurs before the notifyAppReady() __CAPGO_KEEP_0__ comprend un mécanisme de sécurité intégré pour protéger vos utilisateurs des mises à jour brisées. Si une erreur JavaScript se produit avant l'appel de la méthode, le plugin se met automatiquement en retrait vers la version précédente fonctionnelle.

Lorsqu'une nouvelle mise à jour est téléchargée et appliquée, Capgo attend que votre application appelle notifyAppReady() dans un délai configurable pour confirmer que la mise à jour s'est chargée avec succès. Cette méthode signale que :

  • Le bundle JavaScript s'est chargé sans erreurs critiques
  • La fonctionnalité de base de votre application fonctionne
  • La mise à jour est sûre à conserver

Si notifyAppReady() n'est pas appelé en raison d'une panne de JavaScript ou d'une erreur critique, Capgo fera :

  1. Déterminera que la mise à jour a échoué à s'initialiser correctement
  2. Reviendra automatiquement à la version de travail précédente
  3. Marquera la mise à jour problématique comme échouée pour l'empêcher d'être appliquée à nouveau
import { CapacitorUpdater } from '@capgo/capacitor-updater'
// Call this after your app has successfully initialized
await CapacitorUpdater.notifyAppReady()

Cette protection automatique aide à vous assurer que même si vous poussez par erreur une mise à jour cassée, vos utilisateurs ne seront pas coincés avec une application non fonctionnelle.

Vous pouvez configurer la durée pendant laquelle Capgo attend que notifyAppReady() soit appelé en définissant la appReadyTimeout variable dans votre Capacitor de configuration :

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 10000
}
}
}

La appReadyTimeout valeur est spécifiée en millisecondes. Le temps d'attente par défaut est généralement de 10 secondes, mais vous pouvez l'ajuster en fonction des besoins d'initialisation de votre application. Si votre application prend plus de temps pour charger en raison de processus d'initialisation complexes, vous pouvez peut-être augmenter cette valeur.

Every time you upload a new build and assign it to a channel, Capgo keeps a history of those builds. If you need to revert a specific update, you can select one of these previous builds to redeploy to the channel.

Interface de réversion

The primary way to roll back is through the rollback interface, which is located in the 4th tab (History) when viewing a channel in the Capgo Dashboard. This tab provides a comprehensive view of all available builds for the channel, allowing you to easily select and revert to any previous version.

Pour revenir à une version précédente en utilisant l'onglet Histoire :

  1. Se connecter à l' Capgo Dashboard.

  2. Naviguer vers la section « Canaux ».

  3. Cliquer sur le nom du canal que vous souhaitez revenir à.

  4. Allez à la 4ème onglet (Histoire) dans la vue du canal.

  5. Trouvez la version de construction que vous souhaitez annuler dans l'historique des versions de construction.

  6. Sélectionnez cette version pour la rendre la version active du canal.

  7. Confirmez que vous souhaitez revenir à cette version.

Méthode alternative : Utilisation de l'icône de couronne

Sous-titre « Méthode alternative : Utilisation de l'icône de couronne »

Comme deuxième moyen, vous pouvez également revenir directement à partir de la première onglet en cliquant sur l'icône de couronne à côté de toute version de construction dans l'historique des versions de construction du canal :

  1. Dans la première onglet de la vue du canal, trouvez la version de construction que vous souhaitez annuler.
  2. Cliquez sur l'icône de couronne à côté de cette version pour la rendre la version active du canal. Options de gestion du canal
  3. Confirmez que vous souhaitez revenir à cette version.

Après le retour en arrière, les appareils configurés pour écouter le canal mis à jour recevront la version précédente la prochaine fois qu'ils vérifieront une mise à jour. La version retournée sera traitée comme une mise à jour nouvelle, donc le flux de mise à jour habituel et les conditions s'appliquent.

Accélérer un Retour en Arrière Critique avec les Notifications

Section intitulée « Accélérer un Retour en Arrière Critique avec les Notifications »

Réorienter un canal prend normalement effet la prochaine fois qu'un appareil vérifie une mise à jour. Capgo Les notifications peuvent envoyer une notification de vérification de mise à jour silencieuse à une application prise en charge pendant qu'elle est en arrière-plan. Avec l'intégration de l'actualiseur activée, l'application peut vérifier, télécharger et installer le retour en arrière selon le mode de mise à jour configuré.

Ceci est un chemin d'accélération, pas une commande de flotte forcée. La livraison reste de meilleure qualité et dépend de la planification de l'arrière-plan du système d'exploitation, de la disponibilité du réseau et de l'état de l'appareil. Elle ne peut pas mettre à jour une application hors ligne ou force-quit, donc elle ne peut pas promettre un temps fixe pour atteindre chaque appareil.

Pour configurer ce chemin, suivez Notifications : Activer les Vérifications Silencieuses de Mise à Jour.

Si vous souhaitez suspendre temporairement les mises à jour sur un canal pendant que vous investigatez un problème, vous pouvez délier le canal de sa version actuelle.

Pour délier un canal :

  1. Accédez au canal dans le tableau de bord Capgo.

  2. Cliquez sur le bouton « Délié » à côté de la version actuelle.

  3. Confirmez que vous souhaitez délier le canal.

Une fois qu'un canal est délié, il ne distribuera plus de mises à jour. Les appareils configurés sur ce canal resteront sur leur version actuelle jusqu'à ce que le canal soit lié à une nouvelle version.

Cela est utile si vous avez identifié un problème avec une mise à jour mais n'êtes pas encore sûr de la version à laquelle vous souhaitez revenir. Délier le canal vous donne du temps pour enquêter sans diffuser de nouvelles mises à jour.

Dans des situations plus graves, vous pouvez vouloir rétablir tous les appareils sur un canal sur la version web qui était initialement emballée avec votre application native. Cela s'appelle le « bundle intégré ».

Pour forcer le bundle intégré sur un canal :

  1. Accédez au canal dans le tableau de bord Capgo.

  2. Cliquez sur le bouton « Bundle Intégré ».

  3. Confirmez que vous souhaitez forcer le bundle intégré.

Quand vous forcez le bundle intégré, tous les appareils configurés sur ce canal reviendront à la version web initiale du build lors de leur prochaine vérification de mise à jour. Cela se produit quel que soit le build sur lequel ils se trouvent actuellement.

Ceci est une option de reversion plus agressive que la reversion à une version précédente spécifique, car elle élimine toutes les mises à jour en direct publiées depuis la dernière mise à jour de l'application dans les magasins d'applications.

Pour détecter rapidement les problèmes et minimiser l'impact des mises à jour problématiques, il est important de disposer d'un plan de surveillance de vos releases et de réponse aux problèmes.

Certains stratagèmes incluent :

Pour un lancement limité à un groupe, utilisez Rollouts progressifs pour suspendre l'exposition ou effacer sa cible avant de modifier le bundle stable pour tout le canal.

  • Surveiller les rapports de crash et les commentaires des utilisateurs immédiatement après la mise à jour.
  • Utiliser des déploiements étalés ou un système de canal étalé pour tester les mises à jour sur un groupe plus petit avant une large diffusion.
  • Disposer d'un processus de décision clair pour savoir quand revenir en arrière, délier ou forcer le bundle intégré, et qui a l'autorité pour le faire.
  • Communiquer aux utilisateurs sur le problème et la résolution, si nécessaire.

En combinant une surveillance soigneuse avec la capacité de gérer rapidement les mises à jour problématiques, vous pouvez livrer une expérience d'application en constante amélioration tout en minimisant les perturbations pour vos utilisateurs.

Si vous utilisez Rollbacks pour planifier le retrait et le contrôle de version, connectez-l’avec Version Ciblée Mise à jour de détail pour la cible de version dans Version Ciblée Mise à jour Mise à jour de détail pour la mise à jour dans Mise à jour bundle Mise à jour de détail pour le bundle Capgo Live Updates for the product workflow in Capgo Live Updates, and Rollback Strategies for Capacitor Live Updates for the practical context in Rollback Strategies for Capacitor Live Updates.