name: contexto
on: push
jobs:
check-main:
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
steps:
- run : echo "Desplegando en la rama $GITHUB_REF"
Conoce Github Actions
Qué aprenderás de GitHub Actions
Qué son GitHub Actions y qué es CI/CD
Conceptos básicos del flujo de trabajo con GitHub Actions
Quiz: Conoce Github Actions
Creación de Workflow Files
Creando tu primer workflow file con GitHub Actions
Cómo es la sintaxis de workflow files
Triggers: eventos que inician workflows en GitHub Actions
Expresiones para agregar lógica a un workflow
Uso de contexto para acceder a información sobre un workflow
Uso de variables para almacenar información para reutilizar en un workflow
Secrets: almacena información confidencial para reutilizar en un workflow
Quiz: Creación de Workflow Files
Como encontrar bugs en un workflow
Revisando logs para debuggear errores con GitHub Actions
Quiz: Como encontrar bugs en un workflow
Casos de Uso de GitHub Actions
Integración continua CI: Test
Integración continua CI: Compilación
Despliegue continuo CD: Desplegar apps
Automatización de procesos con GitHub Actions
Buenas prácticas al usar GitHub Actions
Costos y facturación en GitHub Actions
Costos y facturación en GitHub Actions
Quiz: Costos y facturación en GitHub Actions
Cierre
Recapitulación del curso: qué aprendiste de GitHub Actions
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Juan José Torres
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.
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".
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.
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.
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!
Aportes 9
Preguntas 1
name: contexto
on: push
jobs:
check-main:
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
steps:
- run : echo "Desplegando en la rama $GITHUB_REF"
Reto 4 - Aprende a usar los distintos Contextos
name: Reto 4 - Aprende a usar los distintos Contextos
on: [push, pull_request]
env:
var1: Aprendiendo
var2: Github-Actions
var3: Contextos
jobs:
Contexto-env:
runs-on: ubuntu-latest
steps:
- name: echo env
run: echo "${{ env.var1 }} ${{ env.var2}} ${{ env.var3}}"
Contexto-github:
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
steps:
- name: echo $GITHUB_REF"
run: echo "Desplegando en la rama $GITHUB_REF"
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?