El otro día, cuando te conté cómo empezar con GitHub Actions, te dije que existían diferentes eventos para lanzar un workflow. Hoy quiero mostrarte cómo puedes hacer que un flujo se ejecute de manera programada.
Evento schedule
Al igual que en otras plataformas de automatización, GitHub Actions también te permite programar sus flujos, a través del evento schedule. Este funciona de la siguiente manera:
name: Scheduled
# Controls when the action will run. Triggers the workflow on schedule
on:
schedule:
- cron: '*/15 * * * *'
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "task"
task:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Runs a single command using the runners shell
- name: Run hello world and date
run: echo Hello World at $(date '+%d/%m/%Y %H:%M:%S');
Como ves, simplemente necesitas especificar en el apartado on el tipo schedule y a través de una expresión de Cron configurar cada cuánto quieres que se ejecute el mismo. Puedes añadir más de una expresión si lo necesitas:
name: Scheduled
# Controls when the action will run. Triggers the workflow on schedule
on:
schedule:
- cron: '*/15 * * * *'
- cron: '*/5 * * * *'
Nota: El intervalo más pequeño que puedes configurar es cada 5 minutos.
El resultado será parecido al siguiente:

¡Feliz fin de semana!

Bootcamp DevOps
Si tienes ganas de meterte en el área de DevOps, formo parte del
equipo de docentes del Bootcamp DevOps Lemoncode, ¿Te animas a
aprender con nosotros?