Contextos en GitHub Actions: Acceso y Uso Práctico
Clase 8 de 18 • Curso de GitHub Actions
Resumen
A continuación, profundizaremos en cómo usar expresiones y los diferentes contextos a los que nos da acceso GitHub para optimizar nuestros workflow files.
¿Qué son las expresiones en GitHub Actions y cómo se usan?
Vamos a trabajar con el archivo expresiones.yml
que vienen del reto de la clase anterior.
La sección de ayuda nos muestra que este archivo tiene un workflow dispatch como trigger, y dentro de este, se definen dos inputs: edad (un número) y nombre (un string).
El job "mayor" verifica si edad >= número establecido. Si es cierto, se muestra "mayoría de edad" en la terminal.
El segundo job verifica si edad < número designado. Si es cierto, muestra "minoría de edad".
¿Por qué son importantes los contextos en GitHub Actions?
Ahora que dominamos las expresiones, es tiempo de enfocarnos en los contextos. Un contexto en GitHub Actions es una forma de acceder a información relevante sobre ejecuciones de workflows, variables, entorno de runners, jobs y steps.
Exploraremos los diferentes tipos de contextos que GitHub Actions nos ofrece y lo que podemos obtener de cada uno de ellos.
¿Cuáles son los principales contextos que nos ofrece GitHub Actions?
GitHub Actions ofrece una variedad de contextos, los más destacados son:
-
GitHub Context: Detalles ejecución workflow. Ejemplo:
github.actor
obtiene nombre usuario actual. -
ENV Context: Acceso variables en flujo, job o pasos. Más detalles próx. clase.
-
Contexto Vars: Acceso vars guardadas a nivel de ambiente, repo u org.
-
Contexto Job: Info job actual. Acceso por nombre o identificador.
-
Contexto Steps: Info steps actuales.
-
Contexto Runner: Acceso info runner job.
-
Contexto Secrets: Acceso a nombres y valores secretos en repo u org.
-
Contexto Inputs: Usar entradas info en ciertos triggers.
¿Cómo se usa un contexto en un workflow file?,,,
Un ejemplo de uso de contexto es un workflow file llamado "contexto" que se ejecuta en cada push a cualquier rama. Dentro de este file, hay un job llamado "checkMain" que verifica si estamos en la rama main usando el contexto GitHub y el atributo github.ref
. Si estamos en la rama main, este job imprimirá "Desplegando en la rama main" en la terminal.
Los contextos nos permiten acceder a información relevante de GitHub Actions, abriendo puertas para una configuración más innovadora y eficiente de nuestros jobs. Te animo a crear un nuevo archivo de workflow llamado contextos.yml
empleando al menos un contexto, ¡un concurso de scripting te espera en los comentarios!