CI/CD - Demo

Configuración de workflows

Como configurar flujos de trabajo en GitHub Actions dentro de un repositorio

Estrutura de archivos

A continuación se muestra una estructura de archivos de un proyecto generico que se desea configurar en GitHub Actions.

myFirstWorkflow.yml
otherWorkflow.yaml
actions101.yml
README.md
package.json

Estructura del YAML

name: Ejemplo de workflow

on:
  # Ejecuta cuando detecta cambios en la rama main
  push:
    branches: [ "main" ]
  
jobs:
  nombre-del-trabajo: # Esto se cambia a lo que nos interece
    name: build # Nombre que se muestra en github
    runs-on: ubuntu-latest # Donde se va a ejecutar

    # Pasos que va a ejecutar (receta de cocina)
    steps:
      - uses: ...
      - name: ...
        
  # Segundo trabajo, se encarga de correr las pruebas en js
  otro-trabajo:
    name: mi-trabajo-secundario
    needs: nombre-de-trabajo-anterior
    runs-on: ubuntu-latest
    steps:
      ...

Se puede ver el workflow completo acá.

El on: muestra el comienzo del workflow y luego se especifica los eventos en los que se corre dicho workflow.

Por otro lado, el jobs: pasa a listar todos los jobs a ejecutar. Si vemos el primero no contiene needs: porque no necesita de que otros se ejecuten, pero si el test necesita del build y el deploy de los dos anteriores.

El runs-on: denomina el runner en el cual va a correr, como mencionamos anteriormente cada job corre en uno nuevo.

On this page