¿Quieres simplificar de apps más rápidas y el control de versiones? Versionado Semántico (SemVer) combinado con Capgosus actualizaciones Over-The-Air (OTA) facilitan la gestión de Capacitor apps de forma más fácil y rápida. Así es como:
-
Conceptos básicos de Semantic Versioning: Las versiones usan el formato
MAJOR.MINOR.PATCH:- MAJOR: Para cambios incompatibles.
- MINOR: Para nuevas funcionalidades retrocompatibles.
- PATCH: Para corregir bugs.
-
¿Por qué usar SemVer con Capgo?
- Comunicación clara sobre las actualizaciones.
- Gestión de versiones más inteligente.
- Evita conflictos de dependencias.
- Planificación de lanzamientos organizada.
-
Capgo Setup Pasos:
- Instala el plugin de actualizaciones de Capgo.
- Configura la versión de tu app en
capacitor.config.jsony otros archivos. - Inicializa con tu clave de API.
- Usa Capgo CLI para crear el bundle y subir las actualizaciones.
-
Gestionar versiones y canales:
- Usa canales separados (p. ej., “beta” para pruebas, “production” para versiones estables).
- Controla las políticas de actualización (auto-actualización de parches, aprobación manual para cambios mayores).
- Opciones de rollback para actualizaciones fallidas.
-
Proceso de despliegue:
- Actualiza los números de versión siguiendo las reglas de SemVer.
- Prueba a fondo antes de desplegar.
- Usa los comandos de CLI para subir y distribuir actualizaciones.
Capgo garantiza que las actualizaciones lleguen a los usuarios de forma rápida y fiable, con herramientas para gestionar interrupciones y mantener la estabilidad. Ideal para equipos que usan flujos de trabajo CI/CD para automatizar actualizaciones.
Consejo rápido: Prueba siempre las actualizaciones y usa canales para gestionar despliegues progresivos de forma efectiva.
Versionado Semántico | Level Up
Capgo Setup Guide

Así puedes configurar Capgo para gestionar actualizaciones OTA y el control de versiones fácilmente.
Pasos de configuración inicial
Empieza instalando el plugin de actualización Capgo:
npm install @capgo/capacitor-updater
npx cap sync
Asegúrate de que tu capacitor.config.json el archivo usa un formato de versión semántica:
{
"appId": "com.example.app",
"appName": "My App",
"version": "1.0.0"
}
Para proyectos antiguos, actualiza los detalles de la versión en estas ubicaciones:
package.json(look for theversioncampo)android/app/build.gradle(actualizaversionName)ios/App/App.xcodeproj/project.pbxproj(actualizaCURRENT_PROJECT_VERSION)
Una vez configurado, inicializa Capgo con tu clave API:
npx @capgo/cli@latest init YOUR_API_KEY
Tabla de referencia rápida:
| Setup Phase | Acción clave | Paso de verificación |
|---|---|---|
| Instalación | Instala el plugin y sincroniza | Verificar package.json |
| Configuración | Establecer números de versión | Verificar en todos los archivos |
| Inicialización | Conectar con la clave de API | Estado de la conexión |
| Build | Crear bundle inicial | Confirmar subida exitosa |
Integración con control de versiones
Capgo funciona bien con plataformas CI/CD, lo que hace actualizaciones automáticas sencillo. Plataformas compatibles:
Si estás trabajando en desarrollo local, puedes desactivar las actualizaciones automáticas añadiendo esto a tu configuración:
{
"plugins": {
"CapacitorUpdater": {
"autoUpdate": false
}
}
}
Esto asegura que Capgo no sobrescriba tus cambios locales. Una vez que tu configuración esté 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 bundle en el archivo principal de tu app:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
CapacitorUpdater.notifyAppReady();
Esta configuración asegura que tu app esté lista para despliegues OTA fluidos y gestión de versiones.
Uso de Semantic Versioning con Capgo
Gestión de números de versión
Capgo usa Semantic Versioning (SemVer) para gestionar versiones de la app, con el formato MAYOR.MENOR.PARCHE. Así es como 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 funcionalidades 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ón | Cuándo incrementar | Comportamiento de la actualización automática |
|---|---|---|
| Mayor (X.0.0) | Para cambios incompatibles en API | Requiere aprobación manual |
| Menor (1.X.0) | Para nuevas funcionalidades | Configurable en Capgo |
| Parche (1.0.X) | Para corregir bugs | Suele ser automático |
Al seguir las reglas de SemVer, simplificas la gestión de versiones y aseguras actualizaciones más fluidas en tus canales de despliegue.
Pautas de control de versiones
Capgo te permite gestionar despliegues eficazmente configurando canales distintos para cada etapa de tu workflow.
-
Gestión de versiones por canales: Organiza tu proceso de despliegue creando canales separados para testing y producción. Por ejemplo:
- Usa un canal “beta” (ej. 1.2.0-beta) para probar nuevas funcionalidades.
- Mantén un canal “production” (ej. 1.2.0) para versiones estables.
- Añade canales específicos por plataforma (ej. “ios-hotfix” con versión 1.2.1) para resolver problemas específicos de plataforma.
-
Configuración de la política de actualizaciones: Controla cómo se aplican las actualizaciones usando las opciones de configuración de Capgo. Por ejemplo:
{ "plugins": { "CapacitorUpdater": { "disableAutoUpdate": "minor" } } }Esta configuración garantiza que los usuarios reciban automáticamente los patch updates, mientras que las actualizaciones minor y major requieren aprobación manual.
-
Estrategia de rollback de versiones: Usa identificadores de pre-release para tener opciones de rollback claras. Esto te permite volver a una versión anterior si hay problemas, manteniendo el versionado consistente en todos los canales.
Estas buenas prácticas facilitan la gestión de actualizaciones, el testeo de nuevas funciones y la estabilidad en el proceso de deployment de tu app.
sbb-itb-f9944d2
Despliegue de actualizaciones OTA
Una vez configurado el control de versiones, sigue estos pasos para desplegar actualizaciones OTA de forma efectiva.
Preparación de la actualización
Empieza actualizando la versión en package.json y archivo capacitor.config.json. Asegúrate de que la versión siga el formato SemVer (MAJOR.MINOR.PATCH):
- Bug Fix: Incrementa el número de PATCH (ej. 1.0.1 → 1.0.2)
- Nueva funcionalidad: Incrementa el número de MINOR (ej. 1.0.0 → 1.1.0)
- Cambio incompatible: Incrementa el número MAJOR (p. ej., 1.0.0 → 2.0.0)
Testea a fondo tu build y confirma que la app se comunica con el servidor usando notifyAppReady.
Luego, decide tu estrategia de actualización. Puedes elegir entre:
- Auto-Update: Aplica automáticamente los requisitos de versión mínima.
- Control manual: Especifica requisitos de versión exactos para las actualizaciones.
- Basado en canales: Usa canales para pruebas y despliegues escalonados.
Comandos de actualización de Capgo CLI
Usa el CLI de Capgo para desplegar tu actualización fácilmente. Aquí tienes 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 [channelName] [appId]
Capgo garantiza un despliegue seguro con cifrado de extremo a extremo y gestión segura de claves.
“@Capgo es una forma inteligente de hacer hot code pushes (y no por todo el dinero del mundo como con @AppFlow) 🙂”
Una vez desplegado, puedes monitorear las actualizaciones desde el dashboard de Capgo. Las actualizaciones suelen llegar a los usuarios a los pocos minutos de abrir la app. El proceso funciona así:
- La app busca actualizaciones.
- Descarga la actualización en segundo plano.
- Marca la nueva versión como activa cuando el usuario sale de la app.
- Aplica la actualización en el siguiente inicio.
Para despliegues de nivel empresarial, quizá quieras integrar automatización de CI/CD.
“Practicamos el desarrollo ágil y @Capgo es crítico para entregar continuamente a nuestros usuarios!”
Solución de problemas y consejos
Problemas de gestión de versiones
Gestionar el versionado semántico en Capgo puede complicar el despliegue de actualizaciones. Para evitar sobrescribir tu trabajo de desarrollo, configura lo siguiente en tu capacitor.config.json archivo:
{
"plugins": {
"CapacitorUpdater": {
"autoUpdate": false
}
}
}
Si una actualización falla, esto es lo que puedes hacer:
- Configurar
autoUpdateafalsedurante el desarrollo. - Desinstala la app.
- Reinstálala con la versión corregida.
- Vuelve a activar las actualizaciones automáticas cuando todo sea estable.
Para actualizaciones de versiones mayores, usa el disableAutoUpdateBreaking flag y escucha el majorAvailable event to handle updates properly:
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, puedes mantener la consistencia de versiones y reducir errores.
Control de versiones en equipo
Una vez gestionadas las actualizaciones individuales, es clave que los equipos establezcan prácticas sólidas de control de versiones.
«Probar cada cambio antes de fusionarlo con el repositorio principal reforzará la estabilidad y evitará errores costosos» [4]
Aquí tienes algunos métodos para garantizar la consistencia:
- Define una rama como la repositorio principal que actúe como fuente de verdad.
- Usa canales Capgo separados para entornos de desarrollo y producción.
- Automatiza las subidas de versiones mediante pipelines CI/CD.
- Documenta todos los cambios de code con mensajes de commit claros y detallados.
Para equipos más grandes, la siguiente matriz de gestión de versiones puede ayudar a organizar las actualizaciones:
| Entorno | Canal | Auto-Update | Patrón de versión |
|---|---|---|---|
| Desarrollo | dev | Desactivado | 0.x.x |
| Escenografía | beta | Activado | x.x.x-beta |
| Producción | stable | Activado | x.x.x |
Pasos de recuperación de actualizaciones
Aun con precauciones, las actualizaciones pueden fallar. Si eso ocurre, sigue estos pasos de recuperación:
- Revertir a un bundle estable anterior.
- Incrementa los números de versión para cualquier nueva corrección (nota: los números de versión no se pueden reutilizar tras su eliminación) [2].
- Verifica las actualizaciones al iniciar la app para asegurarte de que funcionan como se espera.
El actualizador de Capgo está diseñado para manejar interrupciones. Por ejemplo, si el servidor no está disponible o se elimina una actualización, la app sigue funcionando con normalidad [3]Además, las solicitudes de red fallidas se reintentan automáticamente en el próximo inicio de la app. [3]Esta resiliencia integrada minimiza el tiempo de inactividad y garantiza operaciones más fluidas.
Resumen
Semantic Versioning, junto con Capgo, ha hecho que las actualizaciones OTA para apps de Capacitor sean más eficientes. Con 947,6 millones de actualizaciones entregadas y 1.400 apps en producción usando este sistema [1], los procesos de deployment son un 81% más eficientes [1]. Esta configuración permite a los desarrolladores enviar actualizaciones rápido y de forma controlada, evitando los retrasos de las app stores.
Esto es lo que dicen los desarrolladores:
“Desplegamos las actualizaciones OTA de Capgo en producción para nuestra base de +5000 usuarios. Todo funciona muy fluido; casi todos nuestros usuarios están actualizados a los pocos minutos de desplegar la OTA en @Capgo.” - colenso [1]
El sistema de versionado MAJOR.MINOR.PATCH facilita comunicar breaking changes, nuevas features y bug fixes [5]. Esto es especialmente útil para equipos que gestionan varios releases cada semana mediante la plataforma de Capgo.
de Capgo solución cifrada, integrada con herramientas de CI/CD, también es asequible: reduce los costos hasta $26,100 en cinco años [1]. Sus canales personalizables garantizan que las actualizaciones lleguen a los usuarios adecuados en el momento justo.
“Practicamos desarrollo ágil y @Capgo es fundamental para hacer entregas continuas a nuestros usuarios.” - Rodrigo Mantica [1]
Continuar desde Cómo usar Semantic Versioning con Capgo OTA Updates
Si estás usando Cómo usar Semantic Versioning con actualizaciones OTA de Capgo para planificar rollbacks y control de versiones, conéctalo con Reversiones para los detalles de implementación en Rollbacks, Segmentación por versión para los detalles de implementación en Version Targeting, Comportamiento de actualización por el detalle de implementación en Update Behavior, bundle por el detalle de implementación en el bundle, y Live Updates de Capgo por el flujo de trabajo del producto en Capgo Live Updates.