0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Lección

Feature flags y despliegues progresivos

Desvincule el despliegue de la publicación mediante feature flags, exponga gradualmente las nuevas funcionalidades y desactívelas al instante si algo sale mal.

Feature flags y despliegues progresivos es una lección gratuita de CI/CD with GitHub Actions & DevOps Pipelines en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CI/CD with GitHub Actions & DevOps Pipelines, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CI/CD with GitHub Actions & DevOps Pipelines incluye 4 lecciones en total.

Implementación frente a publicación

Una idea importante de la entrega avanzada es que implementar código y publicar una funcionalidad no son lo mismo.

Los indicadores de funcionalidad permiten enviar código a producción, pero mantener una funcionalidad desactivada hasta que decida activarla para algunos usuarios o para todos.

Qué es un indicador de funcionalidad

Un indicador de funcionalidad (o interruptor) es una condición del código que comprueba un valor de configuración para decidir si se ejecuta una ruta de código.

if (flags.isEnabled('new-checkout')) {
  renderNewCheckout();
} else {
  renderOldCheckout();
}

Por qué los indicadores son mejores que las ramas

Las ramas de funcionalidad de larga duración provocan fusiones complicadas. Los indicadores permiten fusionar continuamente cambios pequeños en main mientras la funcionalidad permanece oculta.

  • Solicitudes de incorporación de cambios más pequeñas y seguras
  • Desarrollo basado en trunk
  • Activación y desactivación instantáneas sin volver a implementar

Tipos de indicadores

Los indicadores tienen distintos propósitos:

  • Indicadores de publicación — ocultan trabajo sin terminar
  • Indicadores operativos — interruptores de emergencia para sistemas de riesgo
  • Indicadores de experimentación — pruebas A/B
  • Indicadores de permisos — conceden acceso a usuarios premium

Conocer el tipo le ayuda a decidir cuánto tiempo debe mantenerse.

Reglas de segmentación

Las plataformas de indicadores permiten definir quién ve una funcionalidad: por ID de usuario, grupo, región o porcentaje.

Esto permite realizar un despliegue progresivo controlado mediante la configuración en lugar de implementar infraestructura nueva.

Despliegues por porcentaje

Un patrón habitual consiste en activar primero un indicador para un pequeño porcentaje de usuarios y aumentarlo progresivamente: 1 %, luego 10 %, después 50 % y finalmente 100 %.

A diferencia de un canary, que divide el tráfico en la capa de infraestructura, este es un despliegue lógico controlado en la configuración del código.

// Pseudo targeting config
flag: new-checkout
rollout:
  percentage: 10
  attribute: userId

Interruptores de emergencia

La mayor ventaja operativa es que, si una funcionalidad con indicador se comporta mal, puede desactivarla al instante sin implementar una reversión.

Esto reduce drásticamente el tiempo medio de recuperación en comparación con revertir el código y volver a implementarlo.

Indicadores en la canalización

Puede integrar los cambios de los indicadores en CI/CD. Por ejemplo, un paso del flujo de trabajo puede activar un indicador después de una implementación correcta o programar un aumento gradual.

  - name: Enable feature
    run: |
      curl -X PATCH https://flags.example.com/api/flags/new-checkout \
        -H "Authorization: Bearer ${{ secrets.FLAG_TOKEN }}" \
        -d '{"enabled": true}'

Desactivados de forma predeterminada y seguros

Diseñe siempre los indicadores para que fallen de forma segura: si no se puede acceder al servicio de indicadores, el código debe recurrir al valor predeterminado conocido y seguro (normalmente, desactivado).

Un indicador de funcionalidad nunca debería convertirse en un punto único de fallo.

const enabled = flags.isEnabled('new-checkout', { default: false });

Limpieza de indicadores

Los indicadores crean rutas de código ramificadas. Los indicadores obsoletos se convierten en deuda técnica y confunden a quienes leen el código.

Una vez que un indicador de publicación se haya desplegado por completo y sea estable, elimínelo junto con la ruta de código antigua. Gestione deliberadamente la duración de los indicadores.

Indicadores y patrones de implementación

Los indicadores de funcionalidad complementan las implementaciones blue/green y canary. Los patrones de infraestructura cambian el tráfico; los indicadores cambian la funcionalidad.

Usar ambos proporciona la publicación más segura posible: implemente discretamente, revele de forma gradual y desactive al instante si es necesario.

Comprobación rápida

Compruebe sus conocimientos sobre los indicadores de funcionalidad.

Resumen

Aprendió a separar la implementación de la publicación mediante indicadores de funcionalidad.

  • Los indicadores ocultan el código tras una condición controlada por la configuración
  • La segmentación permite realizar despliegues progresivos por porcentaje
  • Los interruptores de emergencia permiten recuperarse al instante sin volver a implementar
  • Diseñe los indicadores para que fallen de forma segura y elimínelos para evitar deuda técnica

Combinados con blue/green y canary, los indicadores completan su conjunto de herramientas de entrega avanzada.

Preguntas frecuentes

¿La lección «Feature flags y despliegues progresivos» es gratis?

Sí — el texto completo de «Feature flags y despliegues progresivos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CI/CD with GitHub Actions & DevOps Pipelines, actualiza a CoddyKit PRO. El curso de CI/CD with GitHub Actions & DevOps Pipelines incluye 4 lecciones en total.

¿Qué aprenderé en «Feature flags y despliegues progresivos»?

Desvincule el despliegue de la publicación mediante feature flags, exponga gradualmente las nuevas funcionalidades y desactívelas al instante si algo sale mal. Practicas CI/CD with GitHub Actions & DevOps Pipelines con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar CI/CD with GitHub Actions & DevOps Pipelines?

No se requiere experiencia previa. CI/CD with GitHub Actions & DevOps Pipelines en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Feature flags y despliegues progresivos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de CI/CD with GitHub Actions & DevOps Pipelines?

Sí. Cada lección de CI/CD with GitHub Actions & DevOps Pipelines incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Despliegues blue/green
  2. Lanzamientos canary con Actions
  3. Reversiones y recuperación ante desastres
  4. Feature flags y despliegues progresivos
← Volver a CI/CD with GitHub Actions & DevOps Pipelines