Exploremos a detalle cada componente de GitHub Actions y cómo estos interactúan entre sí para poder automatizar tareas específicas.
¿Cuáles son los componentes principales de GitHub Actions?
Primero, hablemos de los cuatro elementos principales de GitHub Actions: Workflow, Job, Step y Action. Cada uno encapsula al siguiente de manera jerárquica.
Por ejemplo, un Workflow puede contener uno o más Jobs, un Job puede integrar varios Steps, y un Step puede incluir un Action.
¿Qué es un Workflow?
Un Workflow es el proceso más amplio y automatizado que ejecuta uno o varios Jobs. Se define mediante un archivo YAML en la carpeta .github/workflows de cada repositorio y cada repositorio puede tener varios Workflows.
¿Qué es un Job?
Un Job es un conjunto de Steps o tareas que viven dentro de un Workflow. Los Steps de un Job siempre se ejecutan en orden y de forma secuencial, dependiendo del término del anterior.
¿Qué es un Step?
Un Step es una parte del Job que puede ser un script de Shell (un comando en la terminal) o un Action predefinido que se ejecuta.
¿Qué es un Action?
Un Action es una aplicación personalizada que realiza una tarea compleja de forma repetitiva para evitar escribir código repetitivo.
¿Qué otros conceptos son importantes en GitHub Actions?
Aparte de estos cuatro componentes clave, dos conceptos adicionales son esenciales para entender GitHub Actions: Eventos y Runners.
¿Qué es un Evento?
Un Evento es una actividad específica en el repositorio que activa la ejecución de un Workflow. Estos pueden ser internos o externos.
¿Qué es un Runner?
Un Runner es el servidor donde se ejecutan nuestros workflows. GitHub proporciona runners que tienen diferentes sistemas operativos: Ubuntu, Windows o MacOS.
¿Cómo se estructura un Workflow en código?
El formato YAML se utiliza para definir un Workflow, y se suele alojar en la carpeta .github de tu repositorio. Un archivo de workflow está organizado jerárquicamente, con etiquetas para identificar diferentes secciones, como Jobs y Steps.
¿Cómo se integran los Actions en un Workflow?
Los Actions permiten condensar múltiples tareas en una sola tarea. Estos pueden ser desarrollados por nosotros mismos, comunidades, GitHub o empresas, y están disponibles en el GitHub Marketplace.
Al final, entender y usar GitHub Actions es la clave para implementar la integración continua y el despliegue continuo - permitiendo una mejor automatización y ahorro de tiempo para los desarrolladores.
En la próxima clase, tendrás la oportunidad de crear tu primerión propia GitHub Action, ¡espero verte allí!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?