Cambios de Ruptura
Copie una solicitud de configuración con los pasos de instalación y la guía de markdown completa para este complemento.
Escenario de ejemplo
Configuración con IA
Sección titulada “Escenario de ejemplo”Supongamos que tienes:
- Versión de la aplicación 1.2.3 (versión antigua) - utiliza el canal de producción
- Versión de la aplicación 2.0.0 (nueva versión con cambios disruptivos) - utiliza el canal v2
- Actualización en vivo 1.2.4 (compatible con 1.2.3)
- Actualización en vivo 2.0.1 (compatible con 2.0.0)
Estrategia: Siempre Utiliza defaultChannel para versiones principales
Sección titulada “Estrategia: Siempre Utiliza defaultChannel para versiones principales”Enfoque recomendado: Establecer un defaultChannel para cada versión principal. Esto garantiza que siempre puedas enviar actualizaciones a grupos de usuarios específicos sin depender de la asignación dinámica de canales.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. Crear Canal para Nueva Versión
Sección titulada “1. Crear Canal para Nueva Versión”# Create channel for version 2.xnpx @capgo/cli channel create v22. Actualizar Capacitor Config para Versión 2.0.0
Sección titulada “2. Actualizar Capacitor Config para Versión 2.0.0”Actualice su Capacitor config antes de compilar la versión 2.0.0 para la tienda de aplicaciones:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example App', plugins: { CapacitorUpdater: { // ... other options defaultChannel: 'v2' // All 2.0.0 users will use v2 channel } }};
export default config;Sección titulada “3. Gestione ramas separadas Code”
Section titled “3. Manage Separate Code Branches”ventana de terminal
# Create and maintain a branch for version 1.x updatesgit checkout -b v1-maintenancegit push origin v1-maintenance
# Your main branch continues with version 2.x developmentgit checkout mainNunca envíe paquetes de JavaScript a aplicaciones más antiguas que esperan APIs nativas __CAPGO_KEEP_0__ que no tienen. Siempre construya actualizaciones desde la rama adecuada: Never push JavaScript bundles to older apps that expect native code/APIs they don’t have. Always build updates from the appropriate branch:
- Para actualizaciones de aplicaciones 1.x (canal de producción)Para actualizaciones a aplicaciones 1.x (canal de producción)
- Rama principal: Para actualizaciones de aplicaciones 2.x (canales v2)
4. Subir paquetes a los canales respectivos
Sección titulada “4. Subir paquetes a los canales respectivos”# For 1.x updates: Build from v1-maintenance branchgit checkout v1-maintenance# Make your 1.x compatible changes herenpx @capgo/cli bundle upload --channel production
# For 2.x updates: Build from main branchgit checkout main# Make your 2.x changes herenpx @capgo/cli bundle upload --channel v25. Habilitar Autoasignación
Sección titulada “5. Habilitar Autoasignación”# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assign6. Desplegar en App Store
Sección titulada “6. Desplegar en App Store”Construye y despliega la versión 2.0.0 en la tienda de aplicaciones. Todos los usuarios que descarguen esta versión (ya sean nuevos usuarios o usuarios existentes que actualizan) utilizarán automáticamente el canal v2 porque está configurado en el paquete de la aplicación.
Escalado a futuras versiones
Sección titulada “Escalado a futuras versiones”Cuando liberes la versión 3.0.0 con más cambios de ruptura:
# Create channel for version 3.xnpx @capgo/cli channel create v3// capacitor.config.ts for version 3.0.0const config: CapacitorConfig = { // ... plugins: { CapacitorUpdater: { defaultChannel: 'v3' // Version 3.x users } }};Now puedes empujar actualizaciones a cualquier versión:
productioncanal → Usuarios de la versión 1.xv2canal → Usuarios de la versión 2.xv3canal → Usuarios de la versión 3.x
7. Limpieza (Después de la Migración)
Sección titulada “7. Limpieza (Después de la Migración)”Una vez que todos los usuarios hayan migrado a la versión 2.x (contar 3-4 meses):
- Eliminar
defaultChannelde tu Capacitor configuración - Borrar el canal v2:
npx @capgo/cli channel delete v2- Borrar la rama de mantenimiento v1:
git branch -d v1-maintenancegit push origin --delete v1-maintenanceSiempre pruebe las actualizaciones exhaustivamente en cada canal antes de la implementación
Mantener Actualizaciones de Versión 1.x
Título de la sección “Mantener Actualizaciones de Versión 1.x”Para enviar actualizaciones compatibles con la versión 1.x:
- Cambiar a la rama de mantenimiento v1:
git checkout v1-maintenance- Hacer tus cambios y commit:
# Make 1.x compatible changesgit add .git commit -m "Fix for v1.x"git push origin v1-maintenance- Compilar y subir a canal de producción:
npx @capgo/cli bundle upload --channel productionSigue adelante desde Cambios que Rinden
Título de la sección “Sigue adelante desde Cambios que Rinden”Si estás utilizando Cambios que Rinden para planificar la ruta de canales y la implementación de un despliegue en etapas, conecta con Canales para los detalles de implementación en Canales, Canales para los detalles de implementación en Canales, Canales para los detalles de implementación en Canales Solución de Pruebas Beta para el flujo de trabajo del producto en Solución de Pruebas Beta, y Solución de Alcance de Versión para el flujo de trabajo del producto en Solución de Alcance de Versión.