Saltar al contenido principal

⚙️ Workflow con CI/CD

Hasta ahora ya hemos visto eventos, triggers y distintas formas de ejecutar automatizaciones dentro de GitHub Actions.

Ahora es momento de entender cómo encajan todas estas piezas dentro de un flujo real de trabajo de CI/CD.

Un workflow es la unidad principal de automatización en GitHub Actions y permite reaccionar a eventos que ocurren dentro de un repositorio.

🚀 Qué es un Workflow

Un workflow es un conjunto de tareas automatizadas definidas en un archivo YAML.

GitHub Actions ejecuta dicho workflow cuando ocurre uno o varios eventos previamente configurados.

Por ejemplo:

  • Crear una issue
  • Abrir un pull request
  • Hacer un push
  • Publicar una release
  • Ejecutar una acción manualmente

Cada workflow puede contener uno o varios jobs que se ejecutan de forma secuencial o en paralelo.

🔔 Los eventos son el punto de partida

Todo workflow comienza con un evento.

Cuando GitHub detecta que dicho evento ha ocurrido, inicia automáticamente la ejecución del workflow correspondiente.

Durante la clase se muestra un ejemplo donde la creación de una nueva issue desencadena una ejecución automática.

El objetivo es observar qué información recibe GitHub Actions y cómo puede utilizarse dentro del pipeline.

🔍 Inspeccionando el evento recibido

Una práctica muy habitual consiste en inspeccionar el payload del evento.

Esto permite:

  • Entender qué información llega al workflow
  • Acceder a datos de la issue, pull request o commit
  • Crear automatizaciones más inteligentes
  • Tomar decisiones dinámicas durante la ejecución

Por este motivo suele ser recomendable comenzar mostrando el contexto disponible antes de construir automatizaciones más complejas.

🏗️ Cómo encaja en CI

La parte de Continuous Integration (CI) busca validar cambios automáticamente cada vez que se modifica el código.

Algunos ejemplos comunes son:

  • Ejecutar tests
  • Analizar calidad de código
  • Comprobar formateo
  • Validar dependencias
  • Generar artefactos

Gracias a los workflows, estas tareas se realizan sin intervención manual.

Cada cambio puede validarse de forma automática antes de llegar a producción.

🚢 Cómo encaja en CD

La parte de Continuous Delivery o Continuous Deployment utiliza workflows para automatizar la entrega de software.

Por ejemplo:

  • Construir una aplicación
  • Crear imágenes Docker
  • Publicar paquetes
  • Desplegar en servidores
  • Actualizar servicios en la nube

De esta forma el mismo sistema que valida el código puede encargarse también de distribuirlo.

⚡ Jobs y Runners

Cuando un workflow se ejecuta, GitHub asigna el trabajo a un runner.

Un runner es la máquina encargada de ejecutar los pasos definidos en el workflow.

Durante la ejecución pueden observarse mensajes relacionados con:

  • Asignación del runner
  • Inicio del job
  • Evaluación de condiciones
  • Descarga del código
  • Ejecución de comandos

Comprender este proceso ayuda a depurar workflows cuando algo no funciona como se espera.

🎯 La importancia de observar las ejecuciones

Una de las mejores formas de aprender GitHub Actions es analizar las ejecuciones reales.

Cada ejecución muestra:

  • Qué evento la disparó
  • Qué jobs se ejecutaron
  • Cuánto tardó cada paso
  • Qué información estaba disponible
  • Dónde se produjo un posible error

GitHub proporciona una interfaz muy completa para inspeccionar todo el proceso.

📌 Ideas clave de esta clase

Quédate con estos conceptos:

  • Un workflow es la unidad principal de automatización en GitHub Actions
  • Los workflows se activan mediante eventos
  • Un mismo workflow puede contener múltiples jobs
  • Los runners son los encargados de ejecutar los trabajos
  • La inspección de eventos es fundamental para crear automatizaciones
  • GitHub Actions es una pieza clave dentro de CI/CD
  • CI permite validar código automáticamente
  • CD permite automatizar la entrega y despliegue de aplicaciones
  • Analizar las ejecuciones facilita enormemente la depuración

🚀 Lo siguiente: construir workflows más avanzados

Ahora que entiendes cómo funciona un workflow dentro de una estrategia de CI/CD, el siguiente paso consiste en crear automatizaciones más sofisticadas.

A partir de aquí podrás combinar eventos, condiciones, jobs y acciones para construir pipelines completos capaces de validar, construir y desplegar tus aplicaciones de forma automática.


💡 Tip: Cuando estés aprendiendo GitHub Actions, dedica tiempo a revisar los logs de ejecución. Entender qué ocurre en cada paso suele aportar más conocimiento que simplemente copiar workflows ya hechos.