Desencadenantes en GitHub Actions: Configuración y Ejemplos Prácticos

Desencadenantes en GitHub Actions: Configuración y Ejemplos Prácticos

Introducción

Multiple event triggers with config · community · Discussion #25595 · GitHub

GitHub Actions permite automatizar flujos de trabajo en respuesta a una variedad de eventos. Estos eventos, también conocidos como desencadenantes o triggers, determinan cuándo se debe ejecutar un flujo de trabajo. En este blog, exploraremos los diferentes tipos de eventos que pueden desencadenar un workflow y proporcionaremos ejemplos simples para cada uno.

Tipos de Triggers en GitHub Actions

  1. push (empujar)
  2. pull_request (solicitud de extracción)
  3. schedule (programación)
  4. workflow_dispatch (despacho de flujo de trabajo)
  5. issue (incidencia)
  6. release (lanzamiento)

Ejemplos de Configuración para Cada Trigger

1. Evento push: Este evento se desencadena cuando se realiza un push a una rama del repositorio. Es útil para ejecutar pruebas o despliegues automáticos.

Ejemplo Evento push:

				
					name: CI on Push

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Print message
      run: echo "Se ha realizado un push al repositorio"
				
			

2. Evento pull_request: Este evento se activa cuando se abre, actualiza o cierra una solicitud de extracción. Ideal para ejecutar pruebas y revisiones antes de fusionar código.

Ejemplo pull_request:

				
					name: CI on Pull Request

on: [pull_request]

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Print message
      run: echo "Se ha creado o actualizado una solicitud de extracción"

				
			

3. Evento schedule: Este evento utiliza una expresión cron para programar la ejecución de un workflow en intervalos regulares. Perfecto para tareas de mantenimiento o informes programados.

Ejemplo schedule:

				
					name: Scheduled Workflow

on:
  schedule:
    - cron: '0 0 * * 1' # Se ejecuta todos los lunes a medianoche

jobs:
  maintenance:
    runs-on: ubuntu-latest

    steps:
    - name: Print message
      run: echo "Ejecutando tarea programada"
				
			

4. Evento workflow_dispatch: Permite iniciar manualmente un flujo de trabajo desde la interfaz de GitHub. Útil para flujos de trabajo que no necesitan ejecutarse automáticamente.

Ejemplo workflow_dispatch:

				
					name: Manual Dispatch

on:
  workflow_dispatch:

jobs:
  manual:
    runs-on: ubuntu-latest

    steps:
    - name: Print message
      run: echo "Este flujo de trabajo se ha iniciado manualmente"
				
			

5. Evento issue: Se desencadena cuando se abre, edita, o cierra una incidencia en el repositorio. Ideal para gestionar el ciclo de vida de incidencias y tareas.

Ejemplo issue:

				
					name: Issue Handler

on:
  issues:
    types: [opened, edited, closed]

jobs:
  handle_issue:
    runs-on: ubuntu-latest

    steps:
    - name: Print message
      run: echo "Se ha abierto, editado o cerrado una incidencia"

				
			

6. Evento release: Este evento se activa cuando se crea, publica, edita o borra un lanzamiento en el repositorio. Útil para tareas relacionadas con el despliegue y la distribución.

Ejemplo release:

				
					name: Release Workflow

on:
  release:
    types: [published]

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
    - name: Print message
      run: echo "Se ha publicado un nuevo lanzamiento"
				
			

Conclusión

Los eventos desencadenantes en GitHub Actions son una parte esencial para automatizar y optimizar tus flujos de trabajo. Al entender y configurar correctamente estos triggers, puedes asegurar que tus tareas se ejecuten de manera eficiente y en el momento adecuado. Estos ejemplos básicos te ayudarán a comenzar y a explorar más las posibilidades de automatización con GitHub Actions.

Links de referencia: Events that trigger workflows

Facebook
X
LinkedIn
Reddit
Pinterest
Threads

Post relacionados

Post recientes

Search