No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de GitHub Actions

Curso de GitHub Actions

Juan José Torres

Juan José Torres

Uso de variables para almacenar información para reutilizar en un workflow

9/18
Recursos

Iniciamos nuestra exploración en el Marketplace de GitHub, donde descubrimos diferentes Actions. Para nuestro ejemplo, seleccionamos 'Deploy Docker to AWS'. Este Action toma una aplicación Docker y la despliega en una instancia S2 de AWS.

¿Qué pide este Action de AWS para funcionar?

El Action requiere que le configuremos varias variables. Por medio de Secrets, podemos configurar un access key ID, un secret access key, una default region y un .env. Esto es lo que necesita el Action para subir una aplicación de Docker a una instancia S2 de AWS.

Los valores de estas variables se obtienen de las credenciales de nuestra cuenta AWS. Se guardan en el repositorio de GitHub como secrets, protegiendo así su seguridad.

A partir de ahí, podemos copiar el Workflow que utiliza estos secrets en caso de necesidad si queremos subir una aplicación Docker a AWS.

¿Cómo podemos verificar y depurar un Workflow?

Una vez implementado el Workflow, es importante revisar los logs para verificar que está funcionando correctamente. En la pestaña de actions, se pueden ver los logs de cada ejecución del Workflow.

Por ejemplo, al explorar un Workflow fallido, podemos ver el error 'process completed with exit code 1', indicando que el proceso no se completó correctamente. Detallando cada uno de los jobs, podemos identificar el paso donde se produjo el fallo.

Aunque GitHub indica si un job ha sido exitoso o no, siempre es importante revisar los logs, ya que pueden existir errores no detectados por GitHub.

¿Cómo resolver problemas en los Workflows?

Al revisar los logs, observamos que el saludo del Workflow 'saludos y secretos' no se mostraba correctamente. El análisis de los logs reveló que la variable 'saludo' solo estaba configurada para el job 'saludo variables' y no para el job 'saludos y secretos'.

Para solucionar este problema, es necesario agregar la variable 'saludo' al job 'saludos y secretos'. Con este arreglo, el saludo se muestra correctamente en los logs, indicando que el Workflow está funcionando como se esperaba.

¿Cómo evitar errores al crear nuevos Workflows?

Cuando se crea un nuevo Workflow, es esencial probarlo varias veces y revisar cuidadosamente todos los logs. De esta manera, podemos estar seguros de que el Workflow funciona como se espera.

Aportes 4

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

name: Saludo usando variables
on:
  push
env:
  DIA_DE_SEMANA: Lunes
jobs:
  mostrar-variables:
    env:
      VARS: ${{ toJSON(vars) }}
    runs-on: ubuntu-latest
    steps:
      - name: imprimir variables
        run: echo $VARS
  saludo-variables:
    runs-on: ubuntu-latest
    env:
      SALUDO: Hola
    steps:
      - name: saludar
        run : echo $SALUDO, $NOMBRE y $NOMBRE2. Hoy es $DIA_DE_SEMANA
        env:
          NOMBRE2: Villanos
          NOMBRE: ${{ vars.NOMBRE }}

Sería bueno que el curso lo enfocaran a un nivel más realista o como realmente se pueda implementar, por ejemplo en una empresa o situaciones que se presenten el día a día, ya que en el curso tiene un enfoque muy teórico y la poca práctica que tiene no se centran en casos que se puedan implementar en un futuro.

Recordatorio: para acceder a una variable dentro de una expresión, se debe hacer por medio del contexto env.

if: ${{ env.USERNAME == 'diego' }}
run: echo $USERNAME

Reto 5

name: Reto 5 - Aprende a usar las Variables de Entorno
on: [push, pull_request]
env:
  fruta1: Manzana
  fruta2: Pera
  fruta3: Frutilla
jobs:
  Variables:
    runs-on: ubuntu-latest
    steps:
      - name: echo frutas
        run: echo "La $fruta1 es roja, la $fruta2 es verde, la $fruta3 es roja y el ${{ vars.FRUTA4 }} es amarillo"