Los GitHub Workflows, también conocidos como flujos de trabajo, amplían las funciones de GitHub y se guardan en su re­po­si­to­rio co­rre­s­po­n­die­n­te de la carpeta .github/workflows. Permiten ejecutar acciones de forma au­to­má­ti­ca al pro­du­ci­r­se de­te­r­mi­na­dos eventos (events).

¿Qué son los GitHub Workflows?

Bá­si­ca­me­n­te, un GitHub Workflow no es más que una colección de acciones concretas, en su mayoría re­cu­rre­n­tes, que se ejecutan en el re­po­si­to­rio au­to­má­ti­ca­me­n­te, al pro­du­ci­r­se un de­te­r­mi­na­do evento. Un flujo de trabajo (workflow) está compuesto por varios trabajos (jobs), que a su vez se dividen en una serie de pasos (steps). Los GitHub Workflows no solo se ejecutan como co­n­se­cue­n­cia de de­te­r­mi­na­dos eventos, sino que también se pueden activar ma­nua­l­me­n­te o ser eje­cu­ta­dos de forma periódica. Los workflows son una parte esencial de la pla­ta­fo­r­ma de in­te­gra­ción continua conocida como GitHub Actions.

Las acciones concretas que se incluyen en cada GitHub Workflow queda a di­s­cre­ción de los pro­gra­ma­do­res. Entre sus usos más comunes se encuentra la co­m­pro­ba­ción au­to­má­ti­ca del código in­me­dia­ta­me­n­te después de ser ac­tua­li­za­do en el re­po­si­to­rio; o el hecho de informar a los in­te­gra­n­tes del equipo de los cambios que se producen en el re­po­si­to­rio.

Consejo

Si estás usando GitHub para tu proyecto web, te merece la pena usar IONOS Deploy Now para conseguir una mayor pro­du­c­ti­vi­dad. El workflow con GitHub Actions, que ha sido co­n­fi­gu­ra­do pre­via­me­n­te, se encarga de compilar tu proyecto au­to­má­ti­ca­me­n­te.

Paso a paso hasta llegar a tu propio workflow

Crear un GitHub Workflow no es difícil. Solo necesitas tener co­no­ci­mie­n­tos básicos del lenguaje de pro­gra­ma­ción YAML y un re­po­si­to­rio de GitHub en el que quieras ejecutar y desplegar tu workflow. GitHub Copilot puede ayudarte a escribir el código de tu workflow en YAML, siempre y cuando utilices un entorno de de­sa­rro­llo integrado.

Paso 1. Co­n­fi­gu­rar el workflow

Una vez hayas creado un re­po­si­to­rio nuevo o hayas se­le­c­cio­na­do un re­po­si­to­rio pree­xi­s­te­n­te para tu GitHub Workflow, puedes acceder al menú de GitHub Actions haciendo clic en el botón “Actions”.

Imagen: Captura de pantalla de un repositorio de GitHub
Se­le­c­cio­na la pestaña “Actions” de tu re­po­si­to­rio para acceder al menú de GitHub Actions.

Desde el menú de GitHub Actions puedes crear tu propio workflow. Para ello, haz clic en el botón “set up a workflow yourself”.

Imagen: Captura de pantalla del menú de GitHub Actions
Puedes crear tu propio GitHub Workflow desde el menú de GitHub Actions.

Paso 2. Escribir código para el GitHub Workflow

Una vez hayas creado un nuevo workflow, au­to­má­ti­ca­me­n­te se abrirá un nuevo archivo llamado main.yml en el di­re­c­to­rio .github/workflows. Puedes editar el archivo en GitHub di­re­c­ta­me­n­te y añadir el código que quieras ejecutar en tu workflow. La extensión del archivo deja claro que debes escribir el código en el lenguaje de pro­gra­ma­ción YAML.

Imagen: El archivo main.yml en el editor de GitHub
Puedes editar el archivo main.yml di­re­c­ta­me­n­te en Github y hacer commit después.

Tú decides qué acciones quieres que se lleven a cabo en tu código. A co­n­ti­nua­ción, te mostramos un código de ejemplo que crea un workflow llamado “example” y que se ejecuta cada vez que haya un commit en la rama (branch) de­no­mi­na­da “main”:

name: example
on:
	push:
		branches: [main]
jobs:
	build:
		runs-on: ubuntu-latest
		steps:
-  uses: actions/checkout@v2
    with:
	fetch-depth: 0
- run: make

En primer lugar, debemos es­pe­ci­fi­car exac­ta­me­n­te en qué momento debe eje­cu­tar­se el GitHub Workflow. Para ello, hemos utilizado las palabras clave “on” y “push”, las cuales activan el workflow si hay código después de la palabra clave “branches”.

El workflow consiste en un trabajo (job) llamado “build”, que a su vez consta de dos pasos (steps) in­di­vi­dua­les y que se ejecuta en un host Ubuntu.

El primer paso (step) utiliza una acción pre­de­fi­ni­da de GitHub llamada “checkout”, la cual se encarga de descargar todo el código del re­po­si­to­rio en el host. Se puede utilizar el parámetro “fetch-depth” para es­pe­ci­fi­car el número de commits que se deben descargar. Al in­tro­du­cir el valor “0” co­n­se­gui­mos que se descargue todo el historial de commits de la rama (branch) llamada “main”.

El segundo paso (step) ejecuta el comando “make” en el host, el cual compila y ejecuta los comandos que suelen en­co­n­trar­se en un archivo de­no­mi­na­do “Makefile”.

Paso 3. Guardar GitHub Workflow y hacer commit

Una vez hayas in­tro­du­ci­do el código en tu workflow, lo único que tienes que hacer es guardar el archivo y hacer commit. A partir de ese momento, tu workflow se ejecutará cada vez que se produzca el evento que hayas es­pe­ci­fi­ca­do en tu código.

Ir al menú principal