Saltar al contenido

Rollbacks

Mientras que las actualizaciones en vivo de Capgo te permiten entregar mejoras y correcciones a tus usuarios de manera rápida, hay situaciones en las que necesitas retroceder a una versión anterior de tu aplicación. Quizás una nueva actualización introdujo un problema crítico inesperado, o tal vez deseas revertir un cambio específico mientras trabajas en una solución.

Capgo proporciona varias formas de gestionar los builds de un canal y controlar la versión de tu aplicación que reciben los usuarios, incluidas opciones de retroceso manual y mecanismos de seguridad automáticos.

Capgo incluye un mecanismo de seguridad integrado para proteger a tus usuarios de actualizaciones rotas. Si ocurre un error de JavaScript antes de que se llame el notifyAppReady() método, el plugin se desplazará automáticamente a la versión anterior que funcionaba.

Cuando se descarga y aplica una nueva actualización, Capgo espera que tu aplicación llame notifyAppReady() dentro de un plazo configurable para confirmar que la actualización se cargó correctamente. Este método indica que:

  • El paquete JavaScript se cargó sin errores críticos
  • La funcionalidad básica de tu aplicación está funcionando
  • La actualización es segura para mantenerla

Si notifyAppReady() no se llama debido a un crash o error crítico de JavaScript, Capgo hará:

  1. Detectar que la actualización falló al inicializarse correctamente
  2. Revertir automáticamente a la versión anterior que funcionaba
  3. Marcar la actualización problemática como fallida para evitar que se aplique nuevamente
import { CapacitorUpdater } from '@capgo/capacitor-updater'
// Call this after your app has successfully initialized
await CapacitorUpdater.notifyAppReady()

Esta protección automática ayuda a asegurarse de que incluso si accidentalmente sube una actualización rota, sus usuarios no se quedarán con una aplicación no funcional.

Puede configurar cuánto tiempo Capgo espera a notifyAppReady() ser llamado estableciendo el appReadyTimeout en la configuración de su Capacitor :

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

El appReadyTimeout valor se especifica en milisegundos. El tiempo de espera predeterminado suele ser de 10 segundos, pero puede ajustarlo según las necesidades de inicialización de su aplicación. Si su aplicación tarda más en cargarse debido a procesos de inicialización complejos, puede querer aumentar este valor.

Con cada carga de una nueva compilación y asignación a un canal, Capgo mantiene un registro de esas compilaciones. Si necesita revertir una actualización específica, puede seleccionar una de estas versiones anteriores para volver a desplegar en el canal.

Interfaz de retroceso UI

La forma principal de retroceder es a través de la interfaz de retroceso, que se encuentra en la pestaña 4ª (Historial) al visualizar un canal en la consola de Capgo. Esta pestaña proporciona una vista completa de todas las compilaciones disponibles para el canal, permitiendo seleccionar y revertir fácilmente a cualquier versión anterior.

Para retroceder utilizando la pestaña Historial:

  1. Iniciar sesión en la Consola de Capgo.

  2. Navegue a la sección “Canales”.

  3. Haga clic en el nombre del canal que desea retroceder.

  4. Vaya a la pestaña 4ª (Historial) en la vista del canal.

  5. Encuentre la compilación que desee revertir en el historial de compilaciones.

  6. Selecciona esa construcción para hacerla la construcción activa para el canal.

  7. Confirma que deseas retroceder a esta construcción.

Como una segunda forma, también puedes retroceder directamente desde la primera pestaña haciendo clic en el icono de corona al lado de cualquier construcción en la historia de construcciones del canal:

  1. En la primera pestaña de la vista del canal, encuentra la construcción que deseas revertir.
  2. Haz clic en el icono de corona al lado de esa construcción para hacerla la construcción activa para el canal. Opciones de gestión del canal
  3. Confirma que deseas retroceder a esta construcción.

After deshacer el cambio, los dispositivos configurados para escuchar el canal actualizado recibirán la versión anterior la próxima vez que busquen actualizaciones. La versión deshecha se tratará como una nueva actualización, por lo que se aplican el flujo de actualización y las condiciones habituales.

Si desea detener temporalmente las actualizaciones en un canal mientras investiga un problema, puede desvincular el canal de su versión actual.

Para desvincular un canal:

  1. Navegue hasta el canal en el Capgo Panel de control.

  2. Haga clic en el botón “Desvincular” junto a la versión actual.

  3. Confirme que desea desvincular el canal.

Una vez que un canal esté desvinculado, no distribuirá ninguna nueva actualización. Los dispositivos configurados para ese canal permanecerán en su versión actual hasta que el canal esté vinculado a una versión nuevamente.

Esto es útil si ha identificado un problema con una actualización pero aún no está seguro de qué versión quiere deshacer. Desvincular el canal le da tiempo para investigar sin enviar actualizaciones adicionales.

In situaciones más graves, es posible que desee revertir todos los dispositivos de un canal a la construcción web que se envió originalmente con el binario nativo de tu aplicación. Esto se conoce como el “paquete integrado”.

Para forzar el paquete integrado en un canal:

  1. Navegue hasta el canal en el Capgo Panel de control.

  2. Haga clic en el botón "Paquete integrado".

  3. Confirme que desea forzar el paquete integrado.

Cuando fuerce el paquete integrado, todos los dispositivos configurados para ese canal reverterán a la construcción web originalmente empaquetada en su próxima verificación de actualizaciones. Esto sucede sin importar qué construcción estén actualmente en.

Esta es una opción de rollback más agresiva que revertir a una construcción específica anterior, ya que descarta todas las actualizaciones en vivo publicadas desde que la aplicación se publicó por última vez en las tiendas de aplicaciones.

To capturar problemas rápidamente y minimizar el impacto de actualizaciones problemáticas, es importante tener un plan para monitorear tus lanzamientos y responder a problemas.

Algunas estrategias incluyen:

  • Monitorear informes de errores y retroalimentación de usuarios de inmediato después de lanzar una actualización
  • Usar despliegues en fases o un sistema de canal estagio para probar actualizaciones en un grupo más pequeño antes de un lanzamiento amplio
  • Tener un proceso de decisión claro para cuando revertir, desconectar o forzar el paquete integrado, y quién tiene la autoridad para hacerlo
  • Comunicar a los usuarios sobre el problema y la resolución, si es apropiado

Al combinar un monitoreo cuidadoso con la capacidad de gestionar rápidamente actualizaciones problemáticas, puedes entregar una experiencia de aplicación que mejora continuamente mientras minimizas las interrupciones para tus usuarios.

Si estás utilizando Rollbacks para planificar el rollback y el control de versiones, conecta con __CAPGO_KEEP_0__ Diseño de Versión para el detalle de implementación en Diseño de Versión, Comportamiento de Actualización para el detalle de implementación en Comportamiento de Actualización, paquete para el detalle de implementación en paquete, Capgo Actualizaciones en Vivo para el flujo de trabajo del producto en Capgo Actualizaciones en Vivo, y Estrategias de Reversión para Capacitor Actualizaciones en Vivo para el contexto práctico en Estrategias de Reversión para Capacitor Actualizaciones en Vivo.