Passer à la navigation

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 des options de reversion manuelle et des 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 reversion vers la version précédente fonctionnelle.

When a new update is downloaded and applied, Capgo expects your app to call notifyAppReady() dans un délai configurable pour confirmer que la mise à jour a été chargée avec succès. Cette méthode signale que :

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

Si notifyAppReady() is not called due to a JavaScript crash or critical error, Capgo will:

  1. Reviendra automatiquement à la version précédente fonctionnelle
  2. Marquera la mise à jour problématique comme échouée pour l'empêcher d'être appliquée à nouveau
  3. Lorsqu'une nouvelle mise à jour est téléchargée et appliquée, Capgo s'attend à ce que votre application appele
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 dans votre configuration Capacitor :

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

La appReadyTimeout La 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 devriez 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 rollback

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 procéder à un rollback à l'aide de l'onglet Histoire :

  1. Se connecter au Capgo Dashboard.

  2. Naviguer vers la section « Canaux ».

  3. Cliquer sur le nom du canal que vous souhaitez rétablir.

  4. Allez sur 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.

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

  7. Confirmez que vous souhaitez revenir à cette version.

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

Section intitulée « 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 dans l'historique des versions 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 pour le 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 nouvelle mise à jour, 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, même si 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 forcer la fermeture, donc elle ne peut pas promettre un temps fixe pour atteindre tous les appareils.

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

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

To délier un canal :

  1. Naviguez vers le canal dans le tableau de bord Capgo.

  2. Cliquez sur le bouton « Désactiver » à 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 pousser 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 empaquetée avec votre application native. Cela s'appelle le « bundle intégré ».

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

  1. Naviguez vers le 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 reverront à la version web initiale du build sur 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 pour surveiller vos releases et répondre 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 changer le bundle stable pour tout le canal.

  • Surveiller les rapports de crash et les commentaires des utilisateurs immédiatement après la mise à jour d'une 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 Comportement de mise à jour Mise à jour de détail pour le comportement de mise à jour dans Comportement de mise à jour bundle Mise à jour de détail pour le bundle dans 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.