Une mise à jour mobile défectueuse peut affecter les utilisateurs avant que votre équipe ne sache qu'il y a un problème. Les lancements d'applications ne peuvent pas être annulés comme les déploiements web. La bonne configuration de rollback vous donne un chemin plus sûr : envoyer de petites modifications, surveiller les signaux en temps réel et restaurer un bundle connu avec un seul commandement. Ce guide montre comment évaluer et exécuter ce processus avec Capgo.
Table des Matières
- Capgo
- Étape 2 : Comparer les Plateformes de Rollback par Capacité
- Étape 3 : Connecter la Plateforme à votre Build et à votre Pipeline CI/CD
- Étape 4 : Stager les Lancements avec des Canaux, des Déploiements et des Analyses
- Étape 5 : Configurer et Tester le Rollback Automatique
- Étape 6 : Opérer la Plateforme de Rollback après le Lancement
- FAQ
- Conclusion
1. Capgo
Capgo is an OTA update and rollback platform for Ionic and Capacitor apps. It lets us ship web-layer changes without waiting for a new store review, then control who gets each bundle through channels and staged releases.

Le point clé est l'adaptabilité. Une application Capacitor comporte un noyau natif ainsi qu'une couche web. Mises à jour OTA peuvent modifier la couche web, tandis que les modifications natives nécessitent toujours une nouvelle version iOS ou Android. Capgo est conçu autour de cette séparation, afin que votre plan de mise en production traite chaque type de modification de la manière appropriée.
Capgo intègre quatre éléments dans le même flux de travail :
- Rollback automatique : l'application peut revenir à un bundle stable lorsque la mise en production échoue aux contrôles de santé.
- Mises à jour différentielles : users download only the changed part of a bundle, which cuts bandwidth use.
- Intégration CI/CD : Les équipes peuvent connecter les versions avec GitHub Actions, GitLab CI ou Jenkins.
- Analytiques en temps réel : release teams can watch adoption and app health as a bundle spreads.
Cette combinaison est importante sur une connexion mobile faible. Une version complète peut prendre beaucoup plus de temps qu'une petite mise à jour. La livraison différentielle garde le téléchargement plus petit, ce qui donne une chance plus grande à une correction urgente de rejoindre les utilisateurs rapidement.
Capgo utilise également une mise en production par commande unique. En pratique, cela signifie que un job de build peut publier une version testée sans que le développeur ouvre un tableau de bord et répète les étapes de mise en production par la main. Conservez la commande dans votre pipeline. Vérifiez la sortie. Ensuite, laissez les règles de votre canal contrôler l'exposition.
Avant la mise en production, définissez une version stable claire. Attribuez-lui un ID de version que votre équipe peut reconnaître. Stockez le commit lié, les notes de build et les résultats de test à côté de cet ID. Si vous avez besoin de récupérer à 2 heures du matin, vous ne voulez pas deviner quelle version était sûre.
Security needs the same care. Review Capgo’s sur les mises à jour par voie aérienne avant de définir les règles d'accès. Ensuite, décidez quelles équipes membres peuvent publier, suspendre ou annuler un canal de production.
For teams that need a preview before production, a pull request can map to its own channel. That keeps a tester’s bundle away from the main release path. Capgo’s Canaux de prévisualisation de la mise à jour peuvent soutenir ce type de flux de revue.

Capgo est un point de départ solide lorsque votre application utilise Capacitor ou Ionic et que vous souhaitez la reversion, les paquets d'update légers, la CI/CD et les analyses dans une souscription par organisation. Il ne remplacera pas une mise en ligne native dans un magasin lorsque vous modifiez les permissions, les plugins natifs ou la coquille de l'application. Cette limite devrait se trouver dans votre politique de lancement dès le premier jour.
Étape 2 : Comparer les plateformes de reversion par capacité
Pour évaluer une plateforme de reversion d'appareil mobile, comparez le chemin de récupération plutôt que la liste de fonctionnalités seule. Demandez ce qui se passe après qu'un paquet malveillant atteint un utilisateur, combien de données le dispositif télécharge et si votre pipeline peut publier sans travail manuel.
La table ci-dessous utilise ces questions.
| Option | Chemin de reversion | Mises à jour différentielles | Intégration CI/CD | Conformité utile |
|---|---|---|---|---|
| Capgo | Reversion automatique et manuelle | Oui | GitHub Actions, GitLab CI, Jenkins | Capacitor et les équipes Ionic qui souhaitent une seule flux de publication |
| Appflow | Les versions précédentes peuvent être restaurées instantanément | Non | — | Les utilisateurs existants prévoyant une migration |
| Mises à jour d'Expo | Rétrogradation manuelle vers une mise à jour de canal antérieure | Non | Intégration native uniquement | Projets Expo et React Native |
| Shorebird | Revenir à la version précédente ou au code original | Oui | — | Équipes Flutter |
| CodePush | Rollback automatique basé sur les erreurs dans une fenêtre définie | Non | Intégration native uniquement | Équipes gérant les déploiements CodePush de la communauté |
| Mise à jour EAS | Rollback vers un canal précédent | Non | Intégration native uniquement | Les équipes React Native utilisent déjà EAS |
| Mises à jour manuelles | Exige une nouvelle revue de magasin | Non | — | Applications sans couche OTA |
La compatibilité de pile a la priorité. Les mises à jour Expo et EAS Update appartiennent à une discussion sur React Native. Shorebird appartient à une discussion sur Flutter. Un équipe Capacitor doit éviter de choisir un outil parce que son langage de rollback ressemble familier. Le runtime décide ce que l'outil peut changer en toute sécurité.
Ensuite, regardez la taille de la mise à jour. La recherche compare les correctifs Shorebird d'environ 50 à 200 Ko avec des libérations complètes de Flutter d'environ 15 à 30 Mo. C'est une grande différence pour les utilisateurs sur les données mobiles. Capgo applique la même idée de base aux mises à jour de la couche web pour les applications Capacitor à travers la livraison différentielle.
Les analyses constituent une autre ligne de démarcation. Un bouton de reversion vous dit comment agir. Les analyses en temps réel vous disent quand agir. Sans données de niveau de version, une équipe peut attendre les tickets de support avant de détecter une mise à jour échouée. Ce retard transforme une petite question en un incident plus large.
Expo prend en charge les workflows CI/CD et les métriques de performance grâce à son service Observe. La comparaison doit suivre votre runtime, et non un score générique.
Le coût nécessite également une vue plus large. Un prix d'entrée bas peut paraître bon jusqu'à ce que vous ajoutiez un outil d'analyse séparé, un script de reversion personnalisé, un stockage, des alertes et du temps d'ingénierie. Capgo utilise une souscription par organisation et inclut une période d'essai gratuite de 14 jours, afin que vous puissiez tester le flux de version avant de le faire partie de votre processus.
Une vérification supplémentaire : demandez ce qui se passe lorsque le fournisseur change de direction. Une plateforme qui ne vend plus de nouveaux plans peut toujours fonctionner pour les utilisateurs actuels, mais elle crée une tâche de migration future. Placez le statut du fournisseur à côté de la capacité technique dans votre feuille de revue.
Prise de conscience clé : Choisissez le plateau qui correspond à votre runtime et donne à votre équipe un chemin de récupération éprouvé, pas celui avec la liste de fonctionnalités la plus longue.
Étape 3 : Connectez la plateforme à votre build et à votre pipeline CI/CD
A rollback plan only works when your release pipeline can publish the known-good bundle again. Connect the mobile app rollback platform to source control, tests, and deployment commands before your first incident. For practical Stratégies de reversion pour les flux de CI/CD, associez chaque échec de pipeline à une action claire de stop, pause ou restauration.
Start by separating native builds from web-layer releases. A native build changes the app binary. An OTA bundle changes code that the installed binary can already run. Write this rule into your pipeline so a native dependency never slips into an OTA release by mistake.
Configurez ensuite une tâche de publication avec un petit nombre de phases fixées :
- Installez les dépendances verrouillées.
- Construisez les actifs web.
- Installez les dépendances verrouillées.
- Exécutez les tests de fumée de l'application.
- Publiez le bundle sur un canal non de production.
- Promouvez le bundle testé vers la production.
Utilisez un secret protégé pour le jeton de déploiement. N'insérez jamais ce jeton dans un dépôt ou imprimez-le dans les journaux de tâche. Accordez à la tâche de production une règle d'approbation séparée si votre équipe nécessite une vérification humaine avant l'exposition.
Capgo se connecte à GitHub Actions, GitLab CI et Jenkins. L'exactitude du runner compte moins que le contrat de libération. La tâche doit savoir quel commit elle a construit, quel canal elle cible et quelle version peut la remplacer.
Pour un nouveau projet, gardez la première pipeline anodine. Exécutez-la sur chaque candidat à la mise en production. Publiez sur un canal de test. Confirmez que l'application télécharge le bundle, démarre proprement et signale la disponibilité. Seul alors la tâche doit promouvoir la mise en production.
Les équipes de Capacitor utilisent souvent un runner CI général pour la mise en forme et les tests, puis déplacent les builds natifs vers un service axé sur les appareils mobiles. Cette séparation peut fonctionner bien. Elle garde les vérifications rapides près de chaque demande de tirage tout en laissant les signatures et les builds de magasin à un système conçu pour le travail mobile.
La recherche sur Capacitor CI/CD souligne une différence importante entre les runners généraux et les spécialistes des appareils mobiles : les runners généraux vous donnent plus de contrôle, mais vous devez écrire plus de la pipeline vous-même. Un service spécialisé peut réduire ce travail de configuration lorsque vous avez besoin de signatures gérées, de builds natifs ou d'actualisations en direct dans le même flux de travail. Vous pouvez réviser guidance de mise en production lorsque votre équipe travaille sur ces choix.
Testez maintenant les chemins de failure. Cassez un test de fumée et confirmez que l'étape de publication s'arrête. Envoyez un bundle vers le mauvais canal dans un projet non de production et confirmez que la production reste inchangée. Ces vérifications semblent petites jusqu'à ce qu'un incident réel mette la chaîne de production sous pression.
Vous devriez maintenant avoir un travail répétable qui peut publier un bundle testé, identifier le précédent bundle stable et s'arrêter en toute sécurité lorsque les vérifications échouent. C'est la base pour un lancement étalé.
Étape 4 : Préparez les versions avec des canaux, des déploiements et des analyses
Channels give each audience a controlled release path. They are one of the main reasons a mobile app rollback platform can limit damage before a bundle reaches every user.
Configurez au moins trois canaux :
- Preview: Configurez au moins trois canaux :
- Prévue : utilisée par les développeurs et les testeurs de produits.
- Canari : utilisée par un petit groupe d'utilisateurs ou de dispositifs réels.
Keep the channel rules clear. A preview bundle should never promote itself. A canary release should have a named owner. Production should have a pause rule that anyone on the incident team can understand.
Choisissez un groupe canari qui reflète votre base d'utilisateurs. Incluez plus que le téléphone le plus récent. L'âge du dispositif, la version de l'OS, la qualité du réseau et le modèle d'utilisation peuvent tous changer la façon dont un bundle se comporte.
Une petite mise à jour réduit le rayon d'impact. Si dix utilisateurs reçoivent un mauvais bundle, l'équipe a de la place pour enquêter. Si tous les utilisateurs le reçoivent à la fois, la file d'attente de support devient le système de surveillance. C'est un mauvais endroit pour apprendre sur une mise à jour.
Observez les signaux qui se rattachent à des dommages pour les utilisateurs. Le seul comptage de crash peut augmenter parce que le groupe canari est actif. Associez-l’aux utilisateurs sans crash, aux lancements échoués, aux erreurs d'authentification et à la réalisation des actions clés. Définissez un seuil avant la mise en production afin que l'équipe sache ce qui a changé.
Arrêtez lorsque le signal franchit votre limite convenue. N'attendez pas pour un diagnostic parfait. La première action est la contenance. Annulez le canal ou arrêtez la promotion. Ensuite, inspectez les journaux et comparez la mise en production échouée avec le dernier commit stable.

OTA a des limites. Elle ne peut pas ajouter un plugin natif, modifier les permissions ou remplacer une dépendance native. Elle ne doit pas non plus être utilisée pour pousser une fonctionnalité majeure qui nécessite une revue de l'application. Utilisez une mise en production de magasin pour ces changements, puis utilisez OTA pour les correctifs de la couche web qui s'adaptent au binôme installé.
Pour les applications d'entreprise, ajoutez des groupes de dispositifs. Un appareil de entrepôt peut nécessiter un rythme de mise à jour différent d'un téléphone de bureau. Une équipe de terrain peut travailler avec une connectivité faible. Ces groupes ne doivent pas être traités comme une seule piscine de test.
Le modèle de canal de Capgo prend en charge ce type de séparation. Suivi, adoption, annulation. Ce petit boucle est plus facile à exécuter lorsque le propriétaire de la mise en production peut voir quel canal contient chaque bundle.
Conservez un note de mise en production avec chaque promotion. Enregistrez la raison du changement, l'effet attendu de l'utilisateur et le signal qui permet la prochaine étape. Cette note donne à l'équipe de support et à l'équipe de produits une réponse partagée lorsque les utilisateurs demandent ce qui a changé.
Conseil Pro : Accorder une permission d'interruption plus large qu'une permission de promotion. Un responsable de support devrait pouvoir arrêter un déploiement risqué sans attendre le développeur d'origine.
Étape 5 : Configurer et tester le redémarrage automatique
Automatic rollback turns a health signal into a recovery action. To use it safely, define the signal, the time window, and the stable version before release day. The detailed configuration de rollback pour les mises à jour Capacitor also helps teams connect those rules to staged testing.
Start with a known-good bundle. Mark it as stable only after it has passed your smoke tests and a short production soak. Keep its release ID in your deployment record. A rollback system is useless if the fallback itself is untested.
Choisissez ensuite les erreurs qui doivent déclencher une action. Les candidats idéaux sont :
- A sharp rise in app crashes after install.
- Échec répété lors du lancement de l'application.
- A broken login or data load path.
- Une importante chute d'une action utilisateur clé.
- Échec de validation de l'intégrité ou d'un bundle.
Fixez une fenêtre de temps après l'installation. Certains bugs apparaissent lors du premier lancement. D'autres ne se manifestent qu'une fois que les utilisateurs atteignent une certaine écran. Votre fenêtre doit couvrir les chemins qui sont les plus importants pour l'application.
Décidez ensuite de ce que le système doit faire. Il peut suspendre la promotion en premier. Il peut faire rouler le canal affecté vers le dernier bundle stable. Pour une grave défaillance, il peut avoir besoin de ces deux actions. Écrivez l'ordre et testez-l’avec une mise en production délibérément mauvaise dans un canal sûr.
Le rollback mobile est différent d'une réversion web. Un binôme de magasin déjà installé sur un téléphone ne peut simplement pas disparaître. Une nouvelle correction native peut nécessiter une revue de magasin. Le rollback OTA fonctionne dans le code que la coquille native installée peut exécuter.
C'est pourquoi le rollback doit se trouver à côté des drapeaux de fonctionnalité et des bonnes tests de mise en production. Si une fonctionnalité peut être désactivée sans remplacer le bundle, cela peut être plus sûr que de révertir toute la mise en production.
Exécutez au moins trois essais :
- Publiez un bundle qui échoue à sa vérification de prêt.
- Déclenchez une erreur contrôlée après l'installation.
- Confirmez que l'application revient vers le bundle stable et signale la prêt.
Mesurez chaque essai. Déterminez combien de temps il faut pour détecter le problème, suspendre l'exposition, restaurer la version stable et confirmer la récupération. Le nombre donne à votre équipe un objectif d'incident utile.
Conservez le contrôle manuel également. L'automatisation peut interpréter une coupure de réseau temporaire comme une erreur d'application. Le propriétaire d'une mise en production devrait pouvoir suspendre l'action automatique, inspecter le signal et choisir une correction de progression lorsqu'elle est plus sûre.
Pour les étapes de reprise détaillées Capacitor, le guide sur la gestion de la reprise avec Capgo covers bundle selection, update application, readiness checks, and staged testing.
Use automatic rollback for fast containment, not as permission to skip review. The safest system catches bad releases early and gives engineers a clear way to fix the root cause.
Étape 6 : Opérer la Plateforme de Reprise Après Lancement
A mobile app rollback platform needs an operating routine after launch. Someone must watch the release, decide when to pause it, and keep the recovery path ready.
Attribuez des rôles clairs avant la première mise en production :
- Propriétaire de la version de sortie : propose le bundle et enregistre la modification.
- Propriétaire de l'incident: décide si poursuivre, revenir en arrière ou poursuivre en avant.
- Responsable du support : watches user reports and shares common symptoms.
- Propriétaire de l'ingénierie : trace le problème et prépare la correction.
Examinez le tableau de bord à des points réguliers après le lancement. Vérifiez l'adoption précoce en premier. Ensuite, inspectez les plantages, le temps de démarrage, les requêtes échouées et l'action utilisateur principale. Une mise à jour qui semble correcte après dix minutes peut toujours échouer lorsque les utilisateurs atteignent un flux moins courant.
Utilisez une mise à jour en anneaux pour les flottes plus importantes. Le premier anneau devrait inclure des modèles de dispositifs variés et des conditions de réseau. N'y remplissez pas uniquement avec des développeurs sur de nouveaux téléphones. Ce groupe de test ne montrera pas les problèmes rencontrés par les utilisateurs avec des matériel plus ancien ou une mémoire limitée.
Pour les déploiements d'entreprise, associez les canaux au risque commercial. Un appareil utilisé pour la livraison ou les paiements nécessite un contrôle plus serré qu'un appareil utilisé pour les informations internes. Gardez un appareil de récupération en dehors du groupe de mise à jour afin qu'un opérateur puisse toujours accéder aux outils d'administration pendant une incident.
La communication fait partie du contrôle de la mise à jour. Informez le support de ce qui a changé. Fournissez-leur l'ID de la mise à jour et le symptôme à enregistrer. Si vous mettez en pause une mise à jour, expliquez la prochaine heure de vérification. Les notes claires réduisent les rapports dupliqués et empêchent les équipes de faire des changements aléatoires sous pression.
Examinez chaque annulation après l'incident. Demandez-vous ce qui a détecté le problème, ce qui l'a manqué et si le déclencheur a tiré suffisamment tôt. Mise à jour ensuite le cas de test ou le seuil. Une annulation est utile deux fois : d'abord pendant la panne, puis comme preuve pour la prochaine mise à jour.
Conservez les anciens lots uniquement aussi longtemps que vos politiques le nécessitent. Trop de versions rendent la sélection plus difficile. Trop peu de versions suppriment votre fallback. Définissez une règle de conservation et étiquetez les versions stables de manière à ce que les nouveaux membres de l'équipe puissent les comprendre.
Le contrôle d'accès compte aussi. Limitez la publication en production. Exigez une deuxième revue pour les changements à haut risque. Conservez les enregistrements d'audit pour qui a promu ou réverti un lot. Les Capgo équipes peuvent également examiner la Capgo Politique de données lorsqu'elles documentent comment les données de version sont gérées.
Enfin, planifiez un exercice de récupération. Utilisez un canal de test et un défaut sans danger. Faites en sorte que quelqu'un qui n'a pas construit la version suive le livre de procédures. Si cette personne peut suspendre la mise en production et restaurer le lot stable, le processus est clair suffisamment pour un incident réel.
L'objectif est une mise en production banale. Rapide lorsque le changement est sûr. Prudent lorsque le signal est incertain. Automatisé lorsque la règle est connue.
FAQ
What is the best mobile app rollback platform for Capacitor?
Capgo is a strong fit for Capacitor and Ionic teams that need OTA updates with rollback control. It combines automatic rollback, differential update support, CI/CD integration, and real-time analytics under a subscription per organization. It also includes a 14-day free trial, so your team can test the release path before using it in production.
Can mobile apps really roll back?
Les applications mobiles peuvent annuler les mises à jour OTA de couches web, mais elles ne peuvent pas effacer un code natif déjà installé à travers une boutique d'applications. Une annulation fonctionne lorsque le shell natif installé peut exécuter le paquet plus ancien. Les plugins, les permissions ou les modifications de dépendances natives nécessitent une nouvelle mise à jour de la boutique.
Comment fonctionne l'annulation automatique ?
L'annulation automatique surveille les signaux de santé après l'installation d'un paquet. Si la mise en production franchit une règle de failure, le système peut arrêter la promotion et revenir au canal affecté à un paquet stable. Testez le déclencheur avec un canal sûr en premier. Un déclencheur faux d'une brève interruption réseau peut causer du travail de récupération inutile.
Qu'est-ce que je devrais surveiller après une mise à jour OTA ?
Surveillez les utilisateurs sans crash, les lancements échoués, les erreurs de connexion, les échecs de chargement de données et l'action principale de votre application. Comparez chaque signal avec son seuil de base avant la mise en production. Un ralentissement soudain compte même lorsque le nombre brut semble petit. Regardez le canal canari avant d'étendre la mise à jour.
L'OTA remplace-t-elle la revue de l'App Store ?
OTA does not replace App Store review for native changes or major app features. It can update compatible web-layer code inside the installed native shell. Use a store release when you change permissions, native modules, or native configuration. Keep that boundary in your CI/CD rules.
Conclusion
Choisissez Capgo lorsque votre Capacitor ou équipe Ionic nécessite un chemin de publication unique pour mises à jour différentielles, canaux, analytics, CI/CD et rollback. Démarrer la version d'essai gratuite de 14 jours, connecter un projet de test et lancer une mise en production étalée avant de déplacer le trafic de production. Cette petite épreuve montrera si votre équipe peut suivre, adopter, suspendre et revenir en arrière sans se fier à l'intuition.