Runner de CI
Un runner de CI es la máquina que ejecuta los jobs de un pipeline de CI/CD: recibe un job del servicio de CI, ejecuta sus pasos y devuelve los resultados.
Última actualización: 11 de noviembre de 2026
Un runner de CI es la máquina, física o virtual, que ejecuta los jobs de un pipeline de CI/CD. Recibe un job del servicio de CI, hace checkout del código, ejecuta los pasos y devuelve los resultados. Jenkins y Azure Pipelines llaman a lo mismo agente; otros sistemas lo llaman executor.
Cómo funciona un runner en GitHub Actions
Las etiquetas runs-on de un workflow deciden qué runner recibe un job: GitHub busca un runner en línea que coincida con las etiquetas y los grupos del job, y un job que ningún runner recoge se queda en cola y falla a las 24 horas (la referencia de GitHub sobre runners autoalojados). La aplicación de runner se conecta hacia GitHub por HTTPS para recibir jobs, devuelve los logs en streaming mientras el job se ejecuta y, en un runner efímero, se descarta después.
GitHub es el plano de control: guarda el repositorio, los archivos de workflow, el almacén de secretos, los logs y los checks. El runner hace el trabajo.
Tres tipos de runner
- Alojado por el proveedor de CI. Los runners alojados por GitHub dan a cada job una máquina virtual nueva y se facturan en minutos de build.
- Autoalojado. Sus propias máquinas, que usted parchea, aísla y escala. Consulte runners gestionados frente a autoalojados.
- Runners gestionados de terceros. Un proveedor opera las máquinas, que se registran en GitHub como runners autoalojados. Consulte la comparativa de proveedores de runners de GitHub Actions.
Un runner es efímero, un job en una máquina nueva, o persistente, muchos jobs en la misma máquina. Los runners efímeros son más seguros: nada de lo que deja un job, archivos o credenciales, llega al siguiente.
Por qué el runner importa para la seguridad
El runner es donde se juntan el código fuente, los secretos y las dependencias descargadas. Guarda los tokens y las credenciales de nube del job, ejecuta cada script de instalación de paquetes y hace cada conexión de red que hace el build. Una dependencia comprometida actúa con el acceso del runner.
Por eso el runner es una frontera de seguridad. Aísle los jobs entre sí, limite a qué puede llegar el runner con una política de egress y registre lo que descargó cada job.
CRACI
CRACI es un runner de GitHub Actions. Un job se traslada con runs-on: craci mientras el workflow se queda en GitHub, y las ejecuciones siguen apareciendo allí. Cada job se ejecuta en su propia máquina virtual aislada bajo una política de egress y genera una SBOM de lo que descargó. Consulte los runners de CRACI y CRACI frente a los runners alojados por GitHub.
Por ahora, CRACI solo ejecuta jobs Linux para GitHub Actions. Los runners para GitLab CI, Jenkins, Windows o macOS los ofrecen esos proveedores o el autoalojamiento.