__CAPGO_KEEP_0__ inicio

Cómo utilizar la versión semántica con actualizaciones Capgo OTA

Aprenda a simplificar las actualizaciones de aplicaciones y el control de versiones utilizando la versión semántica con actualizaciones OTA de Capgo para aplicaciones Capacitor.

Martin Donadieu

Martin Donadieu

Gerente de contenido

Cómo utilizar la versión semántica con actualizaciones Capgo OTA

¿Desea simplificar las actualizaciones de aplicaciones? ¿Desea simplificar las actualizaciones de aplicaciones? ¿Y control de versiones? La combinación de Semantic Versioning (SemVer) con Capgolas actualizaciones Over-The-Air (OTA) de Capacitor facilitan y aceleran la gestión de aplicaciones. Aquí está cómo funciona:

  • Bases de la versión semántica: Las versiones utilizan el formato MAJOR.MINOR.PATCH:

    • MAJOR: Para cambios importantes.
    • MINOR: Para nuevas características compatibles hacia atrás.
    • PATCH: Para correcciones de errores.
  • ¿Por qué usar SemVer con Capgo?

    • Comunicación clara sobre actualizaciones.
    • Gestión de versiones más inteligente.
    • Evitar conflictos de dependencias.
    • Planificación de lanzamientos organizada.
  • Capgo Configuración Pasos:

    1. Instale el plugin de actualizador de Capgo.
    2. Configure la versión de su aplicación en capacitor.config.json y otros archivos.
    3. Inicia con tu clave de API.
    4. Usa Capgo CLI para empaquetar y subir actualizaciones.
  • Gestiona versiones y canales.:

    • Utiliza canales separados (por ejemplo, “beta” para pruebas, “producción” para lanzamientos estable).
    • Controla políticas de actualización (actualizaciones automáticas de parches, aprobación manual para cambios importantes).
    • Opciones de retroceso para actualizaciones fallidas.
  • Proceso de Despliegue:

    • Actualiza los números de versión siguiendo las reglas de SemVer.
    • Prueba exhaustivamente antes de desplegar.
    • Usa comandos de CLI para subir y distribuir actualizaciones.

Capgo garantiza que las actualizaciones lleguen a los usuarios de manera rápida y confiable, con herramientas para manejar interrupciones y mantener la estabilidad. Ideal para equipos que utilizan flujos de trabajo CI/CD para automatizar actualizaciones.

Consejo rápido: Siempre prueba actualizaciones y utiliza canales para gestionar despliegues de etapas de manera efectiva.

Semántica de versión | Nivel Up

Capgo Guía de configuración

Capgo Panel de control de actualizaciones en vivo

Aquí está cómo configurar Capgo para gestionar actualizaciones OTA y control de versiones de manera sencilla.

Pasos de configuración inicial

Comienza instalando el Capgo plugin de actualizador:

npm install @capgo/capacitor-updater  
npx cap sync

Asegúrese de que su capacitor.config.json archivo utilice un formato de versión semántica:

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

Para proyectos más antiguos, actualice los detalles de versión en los siguientes lugares:

  • package.json (busque el version campo)
  • android/app/build.gradle (actualice versionName)
  • ios/App/App.xcodeproj/project.pbxproj (actualice CURRENT_PROJECT_VERSION)

Una vez configurado, inicie Capgo con su clave API:

npx @capgo/cli@latest init YOUR_API_KEY

Tabla de Referencia Rápida:

Fase de ConfiguraciónAcción de la LlavePaso de Verificación
InstalaciónInstale el plugin y sincroniceVerificar package.json
ConfiguraciónEstablecer números de versiónVerificar en todos los archivos
IniciaciónConectarse con la clave APIVerificar el estado de la conexión
CompilarCrear el primer paqueteConfirmar éxito en la carga

Control de Versiones Integrado

Capgo se integra bien con plataformas de CI/CD, lo que hace que actualizaciones automáticas sean fáciles. Las plataformas admitidas incluyen:

Si estás trabajando en desarrollo local, puedes deshabilitar las actualizaciones automáticas agregando esto a tu configuración:

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

Esto garantiza que Capgo no sobrescriba tus cambios locales. Una vez que tengas tu configuración lista, sube tu primera versión:

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

Finalmente, notifica al plugin nativo sobre el estado del paquete en el archivo principal de tu aplicación:

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

Esta configuración garantiza que tu aplicación esté lista para despliegues OTA suaves y gestión de versiones.

Usando Semántica de Versión con Capgo

Gestión de Número de Versión

Capgo utiliza Semántica de Versión (SemVer) para gestionar versiones de la aplicación, formateadas como MAJOR.MINOR.PATCH. Aquí está cómo funciona:

  • Versión Mayor (X.0.0): Incrementa el número MAJOR para cambios que rompen la compatibilidad.
  • Versión Menor (1.X.0): Incrementa el número MINOR para nuevas características que siguen siendo compatibles.
  • Versión de parche (1.0.X): Incrementa el número PATCH para correcciones de errores que no afectan la compatibilidad.
Tipo de VersiónCuándo IncrementarComportamiento de Actualización Automática
Mayor (X.0.0)Para cambios de ruptura APIRequiere aprobación manual
Menor (1.X.0)Para nuevas característicasConfigurable en Capgo
Parche (1.0.X)Para correcciones de erroresNormalmente automático

Al seguir las reglas de SemVer, puedes simplificar la gestión de versiones y asegurarte de que las actualizaciones sean más suaves en tus canales de despliegue.

Directrices de Control de Versiones

Capgo te permite gestionar los despliegues de manera efectiva al configurar canales distintos para diferentes etapas de tu flujo de trabajo.

  • Gestión de Versiones por Canales: Organiza tu proceso de despliegue creando canales separados para pruebas y producción. Por ejemplo:

    • Utiliza un canal de ‘beta’ (por ejemplo, 1.2.0-beta) para probar nuevas características.
    • Mantén un canal de ‘producción’ (por ejemplo, 1.2.0) para lanzamientos estable.
    • Agrega canales específicos para plataformas (por ejemplo, ‘ios-hotfix’ con la versión 1.2.1) al abordar problemas específicos de plataforma.
  • Configuración de la Política de Actualizaciones: Controla cómo se aplican las actualizaciones utilizando las opciones de configuración de Capgo . Por ejemplo:

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

    Esta configuración garantiza que los usuarios reciben automáticamente actualizaciones de parche, mientras que las actualizaciones menores y mayores requieren aprobación manual.

  • Estrategia de Reversión de Versiones: Utilice identificadores de prelanzamiento para mantener opciones de rollback claras. Esta aproximación le permite revertir a una versión anterior si surgen problemas, mientras que mantiene la versión consistente en todos los canales.

Estas prácticas recomendadas facilitan la gestión de actualizaciones, la prueba de nuevas características y la mantenimiento de la estabilidad en el proceso de despliegue de la aplicación.

sbb-itb-f9944d2

Despliegue de Actualizaciones OTA

Una vez que su configuración de gestión de versiones esté lista, siga estos pasos para desplegar actualizaciones OTA de manera efectiva.

Preparación de Actualizaciones

Comience actualizando la versión en package.json y capacitor.config.json. Asegúrese de que la versión siga el formato SemVer (MAJOR.MINOR.PATCH):

  • Corrección de Bug: Incrementar el número de PATCH (por ejemplo, 1.0.1 → 1.0.2)
  • Nueva Funcionalidad: Incrementar el número de MINOR (por ejemplo, 1.0.0 → 1.1.0)
  • Cambio Interrumpido: Incrementar el número de MAJOR (por ejemplo, 1.0.0 → 2.0.0)

Prueba exhaustivamente tu compilación y confirma que la aplicación se comunica con el servidor mediante notifyAppReady.

Próximo, decide sobre tu estrategia de actualización. Puedes elegir entre:

  • Actualización Automática: Aplicar automáticamente los requisitos de versión mínima.
  • Control Manual: Especifica requisitos de versión exactos para actualizaciones.
  • Canal Basado: Utiliza canales para pruebas y lanzamientos de etapa.

Capgo CLI Comandos de Actualización

Utiliza Capgo’s CLI para desplegar tu actualización con facilidad. Aquí está cómo:

# 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 garantiza un despliegue seguro con cifrado de extremo a extremo y gestión de claves seguras.

“@Capgo is a smart way to make hot code pushes (and not for all the money in the world like with @AppFlow) 🙂”

Una vez desplegado, puedes monitorear actualizaciones a través del panel de control de Capgo. Las actualizaciones suelen llegar a los usuarios en minutos después de que abran la aplicación. El proceso funciona de la siguiente manera:

  • La aplicación verifica actualizaciones.
  • Descarga la actualización en segundo plano.
  • Marca la nueva versión como activa cuando el usuario sale de la aplicación.
  • Aplica la actualización en la próxima apertura.

Para despliegues a nivel de empresa, es posible que desee integrar la automatización de CI/CD.

“Practicamos el desarrollo ágil y @Capgo es crucial en la entrega continua a nuestros usuarios!”,

Resolución de Problemas y Consejos

Problemas de Gestión de Versiones

La gestión de versiones semánticas en Capgo puede complicar a veces las actualizaciones de despliegue. Para evitar sobreescribir su trabajo de desarrollo, configure lo siguiente en su capacitor.config.json archivo:

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

Si una actualización falla, aquí hay lo que puede hacer:

  • Establecer autoUpdate a false durante el desarrollo.
  • Desinstalar la aplicación.
  • Reinstalarla con la versión corregida.
  • Rehabilitar actualizaciones automáticas una vez que todo esté establecido.

Para actualizaciones de versión mayor, utilice la disableAutoUpdateBreaking flag y escuche el majorAvailable evento para manejar actualizaciones de manera correcta:

CapacitorUpdater.addListener('majorAvailable', (info) => {
  console.log(`Major update available: ${info.version}`);
  // Add your update prompt logic here
});

Al combinar estas configuraciones con buenas prácticas de equipo, puede mantener la consistencia de la versión y reducir errores.

Control de Versión de Equipo

Una vez que se gestionan las actualizaciones individuales, es crucial que los equipos establezcan prácticas de control de versión sólidas.

“Testing each change before merging it with the main repository will reinforce stability and avoid costly errors” [4]

“Es fundamental probar cada cambio antes de fusionarlo con el repositorio principal para reforzar la estabilidad y evitar errores costosos”

  • Aquí hay algunos métodos para asegurar la consistencia: Defina una rama como el repositorio principal
  • Utilice canales separados Capgo para entornos de desarrollo y producción.
  • Automatice subidas de versiones mediante flujos de trabajo CI/CD.
  • Documente todos code cambios con mensajes de commit claros y detallados.

Para equipos más grandes, la siguiente matriz de gestión de versiones puede ayudar a organizar actualizaciones:

EntornoCanalesActualización automáticaPatrón de versión
DesarrollodevDeshabilitado0.x.x
PruebasbetaHabilitado__CAPGO_KEEP_0__-beta
ProducciónestableHabilitado__CAPGO_KEEP_0__

Paso a paso de recuperación

Incluso con precauciones, las actualizaciones pueden fallar. Si eso sucede, sigue estos pasos de recuperación:

  1. Volver a una versión estable anterior.
  2. Incrementar los números de versión para cualquier nueva corrección (nota: los números de versión no pueden ser reutilizados después de la eliminación) [2].
  3. Verificar actualizaciones durante el arranque de la aplicación para asegurarse de que funcionen como se espera.

Capgo’s actualizador está diseñado para manejar interrupciones. Por ejemplo, si el servidor no está disponible o una actualización se ha eliminado, la aplicación sigue funcionando normalmente [3]Además, las solicitudes de red fallidas se reintentan automáticamente durante el próximo arranque de la aplicación [3]Esta resistencia integrada minimiza el tiempo de inactividad y garantiza operaciones más suaves

Resumen

La combinación de la versión semántica con Capgo ha hecho que las actualizaciones OTA para las aplicaciones Capacitor sean más eficientes. Con 947,6 millones de actualizaciones entregadas y 1.400 aplicaciones de producción que utilizan este sistema [1], los procesos de implementación han vuelto un 81% más eficientes [1]Este conjunto de configuración permite a los desarrolladores enviar actualizaciones rápidamente y de manera controlada, evitando retrasos en las tiendas de aplicaciones

Esto es lo que dicen los desarrolladores:

“Hemos implementado actualizaciones OTA de Capgo en producción para nuestra base de usuarios de +5000. Estamos viendo una operación muy suave casi todos nuestros usuarios están actualizados en minutos de la actualización OTA desplegada en @Capgo.” - colenso [1]

El sistema de versionado MAJOR.MINOR.PATCH facilita la comunicación de cambios importantes, nuevas características y correcciones de errores. [5]Esto es especialmente útil para equipos que gestionan varias versiones cada semana a través de la plataforma de Capgo.

Capgo’s solución cifrada, integrada con herramientas CI/CD, también es asequible - reduciendo costos hasta $26,100 en cinco años [1]Sus canales personalizables garantizan que las actualizaciones lleguen a los usuarios adecuados en el momento adecuado.

“We practice agile development and @Capgo is mission-critical in delivering continuously to our users!” - Rodrigo Mantica [1]

Actualizaciones en vivo para aplicaciones Capacitor

Cuando un error en la capa web está activo, envíe la corrección a través de Capgo en lugar de esperar días por la aprobación de la tienda de aplicaciones. Los usuarios reciben la actualización en segundo plano mientras los cambios nativos siguen en el camino de revisión normal.

Comience Ahora

Últimas noticias de nuestro Blog

Capgo le da las mejores pistas que necesita para crear una aplicación móvil verdaderamente profesional.