GitHub Actions: Añadir Variables de Entorno

GitBeginner
Practicar Ahora

Introducción

En GitHub Actions, las variables de entorno son pares clave-valor que están disponibles para los pasos en un flujo de trabajo (workflow). Puedes definir variables de entorno para un flujo de trabajo completo, un trabajo (job) específico o un paso específico.

En este laboratorio, aprenderás a:

  1. Crear un archivo de flujo de trabajo de GitHub Actions.
  2. Definir una variable de entorno a nivel de flujo de trabajo.
  3. Acceder y utilizar la variable de entorno en un paso.
  4. Actualizar la variable y volver a activar el flujo de trabajo.

Este laboratorio se basa en el repositorio que creaste en los laboratorios anteriores. Clonarás el repositorio github-actions-demo y crearás un flujo de trabajo que utiliza variables de entorno.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 100%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Añadir la sección 'env' con la variable GREETING establecida en 'Hello'

En este paso, clonarás el repositorio y crearás un nuevo archivo de flujo de trabajo (workflow) de GitHub Actions con una variable de entorno global.

  1. En la página de tu repositorio de GitHub para github-actions-demo, haz clic en el botón verde Code.
  2. Asegúrate de que la pestaña HTTPS esté seleccionada y copia la URL. Debería verse como https://github.com/your-username/github-actions-demo.git.
  3. Abre la terminal en el entorno LabEx. La ruta predeterminada es ~/project.
  4. Usa el comando git clone para descargar el repositorio. Reemplaza your-username con tu nombre de usuario real de GitHub.
cd ~/project
git clone https://github.com/your-username/github-actions-demo.git
  1. Navega dentro del repositorio clonado:
cd ~/project/github-actions-demo
  1. Crea un nuevo archivo llamado env-demo.yml dentro del directorio .github/workflows:
touch .github/workflows/env-demo.yml
  1. Abre .github/workflows/env-demo.yml en el WebIDE y añade el siguiente contenido. Esto define el nombre del flujo de trabajo, el evento de activación (push), y la sección env con una variable llamada GREETING.
name: Environment Variable Demo

on: [push]

env:
  GREETING: "Hello"
  • name: El nombre de tu flujo de trabajo.
  • on: Especifica que este flujo de trabajo se ejecuta cuando ocurre un evento de push.
  • env: Define un mapa de variables de entorno que están disponibles para todos los trabajos (jobs) y pasos (steps) en el flujo de trabajo. Aquí, establecemos GREETING a la cadena 'Hello'.

Añadir un paso para mostrar la variable con 'run echo "${{ env.GREETING }}, World!"'

En este paso, definirás un trabajo (job) y un paso (step) para utilizar la variable de entorno que creaste. Accedes a las variables de entorno en el archivo de flujo de trabajo (workflow file) usando la sintaxis ${{ env.VARIABLE_NAME }}.

Abre .github/workflows/env-demo.yml en el WebIDE y añade el siguiente contenido al final del archivo:

jobs:
  print-greeting:
    runs-on: ubuntu-latest
    steps:
      - name: Print Greeting
        run: echo "${{ env.GREETING }}, World!"

Tu archivo completo debería verse así:

name: Environment Variable Demo

on: [push]

env:
  GREETING: "Hello"

jobs:
  print-greeting:
    runs-on: ubuntu-latest
    steps:
      - name: Print Greeting
        run: echo "${{ env.GREETING }}, World!"
  • jobs: Define los trabajos que ejecuta el flujo de trabajo.
  • print-greeting: El ID del trabajo.
  • runs-on: Configura el tipo de máquina (runner) para ejecutar el trabajo.
  • steps: Agrupa todos los pasos que se ejecutan en el trabajo.
  • run: Ejecuta un comando en el shell del runner. Usamos echo para imprimir el valor de GREETING seguido de , World!.

Confirmar e implementar el flujo de trabajo actualizado con 'env'

En este paso, confirmarás (commit) el nuevo archivo de flujo de trabajo y lo enviarás (push) a GitHub. Al enviar este archivo, el flujo de trabajo se registrará en GitHub Actions y se activará la primera ejecución.

  1. Asegúrate de estar en el directorio del repositorio:
cd ~/project/github-actions-demo
  1. Prepara (stage) el archivo del flujo de trabajo:
git add .github/workflows/env-demo.yml
  1. Confirma (commit) los cambios:
git commit -m "Add workflow with environment variable"
  1. Envía (push) los cambios al repositorio remoto en GitHub:
git push

Nota sobre la Autenticación:
Cuando ejecutes git push, el WebIDE te pedirá automáticamente que te autentiques. Sigue estos pasos detallados:

  1. Aparecerá una ventana emergente con el mensaje: "The extension 'GitHub' wants to sign in using GitHub." Haz clic en Allow.
  2. Aparecerá una nueva notificación. Haz clic en "Copy&Continue to GitHub", y luego haz clic en "Open" en la siguiente solicitud.
  3. Inicia sesión en tu cuenta de GitHub en la ventana del navegador que se abre e introduce el código de autorización que se copió. Después de confirmar la autorización, la página se cerrará automáticamente.
  4. Espera unos segundos y verás que la terminal completa la operación de push con éxito.

Nota de Privacidad: El WebIDE solicitará acceso completo a tu cuenta de GitHub con fines de autenticación. No tienes que preocuparte por problemas de privacidad: la VM de LabEx será destruida inmediatamente después de completar el laboratorio actual, y tus credenciales e información de autorización no se conservarán.

Activar el flujo de trabajo mediante el envío de un cambio

El flujo de trabajo está configurado para ejecutarse en eventos de tipo push. Aunque el push anterior ya desencadenó el flujo de trabajo, veamos lo fácil que es actualizar la variable de entorno y volver a activarlo.

  1. Abre .github/workflows/env-demo.yml en el WebIDE.
  2. Cambia el valor de GREETING de "Hello" a "Hi".
env:
  GREETING: "Hi"
  1. Confirma (commit) e impulsa (push) este cambio:
git add .github/workflows/env-demo.yml
git commit -m "Update greeting variable"
git push

Nota sobre la autenticación:
Si no te has autenticado recientemente, el WebIDE te pedirá automáticamente que te autentiques cuando ejecutes git push. Sigue los mismos pasos de autenticación que se describieron en el paso anterior.

Nota de privacidad: El WebIDE solicitará acceso completo a tu cuenta de GitHub con fines de autenticación. No tienes que preocuparte por problemas de privacidad: la máquina virtual (VM) de LabEx será destruida inmediatamente después de completar el laboratorio actual, y tus credenciales e información de autorización no se conservarán.

Este push activará una nueva ejecución del flujo de trabajo con la variable actualizada.

Verificar la salida de la variable de entorno en los registros de ejecución en GitHub

Después de subir (push) tu código, el flujo de trabajo se activará automáticamente en GitHub. Puedes ver los registros de ejecución del flujo de trabajo para verificar que la variable de entorno se esté utilizando correctamente.

  1. Visita tu repositorio en GitHub en un navegador web: https://github.com/your-username/github-actions-demo
  2. Haz clic en la pestaña Actions en la parte superior de la página del repositorio.
  3. Deberías ver una nueva ejecución de flujo de trabajo listada, probablemente llamada "Update greeting variable".

Nota: Cuando subes código, se pueden activar múltiples Acciones (Actions) si tienes varios archivos de flujo de trabajo en tu repositorio. Por favor, identifica la ejecución correcta del flujo de trabajo revisando el nombre del flujo de trabajo en la barra lateral izquierda o utilizando la lista de ejecuciones del flujo de trabajo en el lado derecho.

  1. Haz clic en el título de la ejecución y luego en el trabajo (job) print-greeting.
  2. Expande el paso Print Greeting para ver la salida.

Deberías ver la ejecución del comando:

Run echo "Hi, World!"
  echo "Hi, World!"
  shell: /usr/bin/bash -e {0}
Hi, World!

Observa que ${{ env.GREETING }} fue reemplazado por su nuevo valor Hi.

GitHub Actions logs

Resumen

En este laboratorio, has creado con éxito un flujo de trabajo de GitHub Actions que utiliza variables de entorno. Aprendiste a:

  1. Definir variables de entorno usando la palabra clave env a nivel del flujo de trabajo.
  2. Acceder a estas variables en tus pasos usando la sintaxis ${{ env.VARIABLE_NAME }}.
  3. Actualizar la variable y activar el flujo de trabajo nuevamente subiendo cambios.

Las variables de entorno son esenciales para gestionar valores de configuración que pueden cambiar entre entornos o ejecuciones, sin modificar la lógica de comandos codificada (hardcoded).