Saltar al contenido

Despliegues progresivos

A un lanzamiento progresivo se mantiene un paquete estable de un canal paquete estable en su lugar mientras se entrega un objetivo de lanzamiento separado objetivo de lanzamiento a un conjunto controlado de dispositivos. Es útil cuando deseas una validación de producción real sin cambiar todo el canal de una vez.

Controles de lanzamiento progresivo en un canal Capgo
Configure el objetivo de lanzamiento, porcentaje, duración de caché y política de pausa automática desde la pestaña de información de un canal.

Cada canal puede tener dos enlaces de paquete:

  • paquete estable — el paquete normal asignado al canal.
  • Objetivo de lanzamiento — el paquete candidato que se libera gradualmente.

Un lanzamiento necesita un paquete estable. En la consola, asigna el paquete estable antes de elegir el objetivo; con el público API, un canal existente puede proporcionar version y rolloutVersion in the same POST request. Capgo makes a random decision for each eligible device, then caches it using a hash of the device ID and the rollout ID. That makes the cohort sticky for the configured cache duration instead of changing on every update check.

La duración de caché de decisión de lanzamiento predeterminada es 30 días. Después de que expira, un dispositivo puede ser seleccionado nuevamente. Cambiar el objetivo de lanzamiento crea un nuevo ID de lanzamiento y comienza un nuevo grupo. Puede configurar la duración de caché desde 60 segundos hasta 365 días.

Cambios porcentuales

Capgo preserves existing decisions when it can:

  • __CAPGO_KEEP_0__ conserva las decisiones existentes cuando puede: --- dispositivos ya seleccionados permanecen seleccionados; solo se agrega un subconjunto aleatorio de dispositivos previamente no seleccionados.
  • Disminuir un porcentaje --- un subconjunto aleatorio del conjunto seleccionado regresa a la versión estable.
  • Establecer el porcentaje en 0% --- no se seleccionan nuevos dispositivos. Los dispositivos que ya están ejecutando el objetivo de lanzamiento habilitado continúan recibiendo ese objetivo hasta que lo deshabiliten, lo reviertan o cambien el objetivo.
  • Pausar --- se detiene a nuevos dispositivos de entrar mientras los dispositivos que ya están ejecutando el objetivo habilitado siguen con él.
  • Deshabilitar --- se detiene la resolución del objetivo de lanzamiento; las comprobaciones de actualizaciones utilizan la versión estable.
  1. Cargar y asignar una versión probada como la versión estable del canal.
  2. Subir el paquete candidato sin reemplazar el paquete estable.
  3. Abra la pestaña de Información y establezca al candidato como el Objetivo, elija un pequeño porcentaje y habilite el lanzamiento.
  4. Monitorear el lanzamiento en Observar, Insights de registro, y la historia del canal. Aumente el porcentaje solo después de que el grupo esté sano.
  5. Cuando esté listo, promueva el objetivo a estable. Si no está sano, paúse o róllelo hacia atrás.

CLI ejemplo

Ejemplo de CLI

Iniciar un lanzamiento para paquete 1.3.0 en 5%:

Ventana de terminal
npx @capgo/cli@latest channel set production com.example.app \
--rollout-bundle 1.3.0 \
--rollout-percentage 5 \
--rollout-enable

Aumentarlo sin reseleccionar dispositivos ya seleccionados:

Ventana de terminal
npx @capgo/cli@latest channel set production com.example.app \
--rollout-percentage 25

El comando de carga de paquetes puede establecer la carga como un objetivo de lanzamiento en un paso cuando el canal ya tiene un paquete estable:

Ventana de terminal
npx @capgo/cli@latest bundle upload com.example.app \
--path ./dist \
--channel production \
--rollout 5

Ver el completo canal CLI referencia y paquete CLI referencia para cada opción de lanzamiento.

Acción¿Qué hace
PausarDetiene a nuevos dispositivos de entrar en el lanzamiento. Los dispositivos ya en el objetivo habilitado permanecen allí.
ReanudarPermite que nuevos dispositivos elegibles entren de nuevo.
DesactivarDetiene la resolución del objetivo de lanzamiento y utiliza el paquete estable.
RevertirElimina el objetivo, desactiva el lanzamiento, resetea el porcentaje a 0% y devuelve los dispositivos a estable.
PromoverContexto: Página/área: Sitio web de marketing de Capgo. Rol: Título de sección o página. Visto en: página affiliate.astro. Mensaje clave `affiliate_step2_title` (Título de paso 2 de afiliado).

Hace que el objetivo de lanzamiento sea el paquete estable, luego elimina el estado de lanzamiento.

Utiliza una acción de terminal a la vez:
# Stop adding devices while you investigate
npx @capgo/cli@latest channel set production com.example.app --rollout-pause
# Make the candidate stable for everyone
npx @capgo/cli@latest channel set production com.example.app --rollout-promote
# Discard the candidate and return to stable
npx @capgo/cli@latest channel set production com.example.app --rollout-rollback

Copiar a portapapeles

Mantén el paquete objetivo disponible hasta que lo promuevas o lo revertas. Los paquetes vinculados como un paquete estable o objetivo de lanzamiento están protegidos de eliminación.

Política de pausa automática

Capgo puede evaluar una actualización habilitada cada cinco minutos y actuar cuando su señal de falla cruza su umbral. Mide las instalaciones y las fallas para el objetivo de la actualización en el canal seleccionado y la ventana de tiempo, y luego utiliza una función de confianza de Wilson en lugar de la tasa de falla bruta sola.

El pausa automático está deshabilitado por defecto. Configura estos campos en la pestaña Información o con channel set:

  • Tasa de falla umbral en puntos base (% = 5%). Se requiere un umbral para que se active la política.500 Ventana
  • en minutos (por defecto: 60). Confianza
  • entre y 0 y 1 (por defecto:) 0.95).
  • Intentos y fallos mínimos opcionales, para evitar actuar sobre muestras pequeñas.
  • Tiempo de espera en minutos (por defecto: 60), que impide acciones repetidas.
  • Acción: pause, rollback, o notify.

pause detiene la exposición de nuevos lanzamientos, rollback limpia el objetivo y regresa a estable, y notify envía una alerta de lanzamiento sin cambiar la entrega de lanzamientos.

Ventana de terminal
npx @capgo/cli@latest channel set production com.example.app \
--auto-pause-enabled \
--auto-pause-failure-rate-bps 500 \
--auto-pause-window-minutes 60 \
--auto-pause-confidence 0.95 \
--auto-pause-min-attempts 100 \
--auto-pause-min-failures 5 \
--auto-pause-action pause \
--auto-pause-cooldown-minutes 120

Puede gestionar la misma característica a través de Canales Públicos API o el panel de control:

  1. Abra una aplicación, luego Canales.
  2. contexto":"Canales de liberación de Capgo. Página/área: Página de marketing de soluciones de Capgo. Rol: Etiqueta de IU corta o elemento de navegación. Visto en: página soluciones/white-label.astro. Clave de mensaje `solutions_white_label_visual_cell2_value` (Valor de celda visual de soluciones White Label)."
  3. Elija el canal. Abrir.
  4. Información Utilice el Sección de lanzamiento progresivo para elegir el objetivo, el porcentaje, la duración de la caché y la política de pausa automática.

For general channel routing and device precedence, see Canales. For emergency bundle recovery outside a progressive rollout, see Revertir una actualización en vivo.