¿Qué es GitHub Actions y cómo automatiza pruebas y despliegues?

Publicado el 2026-10-20 por frfrand

GitHub Actions explicado: workflows, eventos, jobs, runners, secrets y un ejemplo de pruebas antes de publicar código.

¿Qué es GitHub Actions y cómo automatiza pruebas y despliegues?

GitHub Actions es una herramienta de automatización integrada en GitHub que ejecuta procesos cuando ocurren eventos en un repositorio. Puede correr pruebas, compilar una aplicación, analizar código o preparar un despliegue sin que una persona repita manualmente todos los pasos cada vez.

Imaginate tener una lista de comprobaciones antes de publicar una web. Un día te olvidás de ejecutar los tests y subís una versión con un error evidente. GitHub Actions permite que ciertas verificaciones se realicen de manera consistente.

¿Qué es un workflow?

Un workflow es una automatización definida normalmente en archivos YAML dentro de .github/workflows/ del repositorio.

El archivo indica cuándo se ejecuta, qué trabajos debe realizar y en qué condiciones. Por ejemplo, podés decidir que cada pull request hacia la rama principal ejecute una prueba del backend.

No significa que al crear el archivo ya estés desplegando nada. Primero tenés que definir qué comandos son correctos y qué permisos necesitan.

¿Qué es un job y qué es un runner?

Un job es un conjunto de pasos que se ejecutan en un entorno determinado. Un workflow puede incluir varios jobs: instalar dependencias, ejecutar tests, construir frontend o preparar un paquete.

El runner es el entorno que ejecuta esos pasos. GitHub ofrece runners hospedados y también permite runners propios en determinados escenarios.

Si usás un runner autohospedado, asumís responsabilidades de seguridad y mantenimiento del equipo. No conviene conectar un runner con permisos privilegiados a un repositorio en el que código no confiable pueda ejecutarse libremente.

Un ejemplo sencillo en una aplicación Node

Podrías configurar un workflow que se dispare con un pull request, obtenga el repositorio, prepare Node e instale dependencias para ejecutar pruebas.

La estructura conceptual sería esta:

name: Verificar proyecto

on:
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '22'
      - run: npm ci
      - run: npm test

Es un ejemplo educativo: necesitás que el proyecto tenga scripts de prueba, revisar versiones de las acciones y adaptar el entorno a tus dependencias. Para seguridad adicional, en proyectos sensibles conviene fijar acciones a commits concretos y limitar permisos del token.

¿Qué son los secrets?

A veces un workflow necesita credenciales para hablar con un servicio externo. GitHub permite almacenar determinados secretos y variables para utilizarlos bajo condiciones configuradas.

Eso no significa que puedas imprimir un secreto en los registros o entregarlo a código ajeno sin riesgo. Los permisos del workflow deben ser mínimos y las solicitudes originadas desde forks requieren especial atención.

Siempre que sea posible, conviene usar credenciales temporales con federación de identidad en vez de conservar claves de larga duración.

¿GitHub Actions publica automáticamente tu aplicación?

Solo si configurás una automatización para hacerlo. Ejecutar tests y desplegar son acciones distintas.

Podés decidir que la rama principal se despliegue después de aprobar los checks o exigir un paso manual para publicar en producción. La segunda opción puede ser apropiada para cambios delicados.

También conviene preparar una forma de rollback. Un workflow verde no garantiza que una aplicación funcione correctamente después de una migración de datos.

Los fallos más comunes

Confundir tests con calidad total. Una batería incompleta puede aprobar código defectuoso.

Dar permisos excesivos. No todos los jobs necesitan acceso de escritura al repositorio ni credenciales de servidores.

Ignorar la duración y el coste. Construcciones largas pueden consumir recursos y cuotas. Medí tiempos y evitá instalar todo de cero si hay opciones seguras de caché.

Ejecutar código no confiable en un runner privilegiado. Un workflow puede ejecutar exactamente lo que incluye la rama, así que la superficie de ataque merece atención.

¿Qué relación tiene con CI/CD?

GitHub Actions es una herramienta para implementar prácticas de integración y entrega continuas, pero CI/CD es la práctica general. Podés utilizar otras plataformas para conseguir objetivos similares.

¿Cómo se combina con ArduMaker?

Podés utilizar GitHub Actions para comprobar que una aplicación pasa tests antes de desplegarla en un VPS gestionado con ArduMaker. El workflow verifica el código; el entorno de destino sigue necesitando configuración, monitorización y permisos correctos.

En resumen: GitHub Actions permite automatizar controles y procesos asociados al repositorio. Lo importante es escribir workflows claros, seguros y que realmente aporten valor.

Fuente: Documentación de GitHub Actions · Seguridad de GitHub Actions · Qué es CI/CD.

¿Qué es GitHub Actions y cómo automatiza pruebas y despliegues?
  • GitHub Actions
  • CI/CD
  • Git
  • DevOps

Seguir leyendo

Todos los artículos · Planes de VPS