Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Acerca de los ejecutores autoalojados

Puedes alojar tus propios ejecutores y personalizar el entorno utilizado para ejecutar trabajos en tus flujos de trabajo de GitHub Actions.

En este artículo

Acerca de los ejecutores autoalojados

Los ejecutores auto-hospedados ofrecen más control sobre las herramientas del hardware, sistema operativo y software que lo que ofrecen los ejecutores hospedados en GitHub. Con los ejecutores auto-hospedados, puedes elegir crear una configuración de hardware personalizada con más poder de procesamiento o más memoria para ejecutar jobs más grandes, instalar software disponible en tu red local, y escoger un sistema operativo que no se ofrezca en los ejecutores hospedados en GitHub. Los ejecutores auto-hospedados pueden ser físicos, virtuales, estar en un contenedor, en los servidores del usuario, o en la nube.

Puedes agregar ejecutores auto-hospedados a nivel organizacional, en donde pueden utilizarse para procesar jobs para varios repositorios en una organización, o puedes agregarlos para solo un repositorio.

La máquina de tu ejecutor se conecta aGitHub utilizando la aplicación para ejecutores auto-hospedados de GitHub Actions. La aplicación ejecutora de GitHub Actions es de código abierto. Puedes contribuir y emitir informes de problemas en el repositorio runner. Cuando se lanza una nueva versión, la aplicación del ejecutor se actualiza automáticamente cuando se asigna un job al ejecutor, o dentro de una semana de lanzamiento si dicho ejecutor no se ha asignado a ningún job.

Un ejecutor auto-hospedado se eliminará automáticamente de GitHub si no se ha conectado a GitHub Actions por más de 30 días.

Para obtener más información acerca de la instalación y el uso de los ejecutores auto-alojados, consulta la sección "Agregar ejecutores auto-alojados" y "Usar ejecutores auto-alojados en un flujo de trabajo".

Diferencias entre ejecutores alojados en GitHub y autoalojados

Los ejecutores alojados en GitHub ofrecen una manera más rápida y sencilla de ejecutar tus flujos de trabajo, mientras que estos son una manera altamente configurable de ejecutar flujos de trabajo en tu propio entorno personalizado.

Ejecutores alojados en GitHub:

  • Reciben actualizaciones automáticas para el sistema operativo, paquetes y herramientas pre-instalados, y la aplicación del ejecutor auto-hospedado.
  • Son administrados y mantenidos por GitHub.
  • Proporcionan una instancia limpia para cada ejecución de trabajo.
  • Usan minutos libres en tu plan de GitHub, con tarifas por minuto aplicadas después de superar los minutos libres.

Ejecutores auto-hospedados:

  • Reciben actualizaciones automáticas únicamente para la aplicación del ejecutor auto-hospedado. Eres responsable de actualizar el sistema operativo y el resto del software.
  • Puedes usar los servicios en la nube o las máquinas locales que ya pagas.
  • Son personalizables para tu hardware, sistema operativo, software y requisitos de seguridad.
  • No es necesario tener una instancia limpia para cada ejecución de trabajo.
  • Son de uso gratuito con las GitHub Actions, pero eres responsable del costo de mantener tus máquinas de ejecutores.

Requisitos para máquinas de ejecutores autoalojados

Puedes utilizar cualquier máquina como ejecutor auto-hospedado mientras cumpla con los siguientes requisitos:

  • Puedes instalar y ejecutar la aplicación del ejecutor autoalojado en la máquina. Para obtener más información, consulta "Sistemas operativos compatibles para ejecutores autoalojados."
  • La máquina puede comunicarse con GitHub Actions. Para obtener más información, consulta "La comunicación entre ejecutores autoalojados y GitHub."
  • La máquina tiene suficientes recursos de hardware para el tipo de flujos de trabajo que planeas ejecutar. La propia aplicación del ejecutor autoalojado solo requiere unos recursos mínimos.
  • Si quieres ejecutar flujos de trabajo que usan acciones del contenedor Docker o contenedores de servicio, debes usar una máquina Linux y Docker debe estar instalado.

Sistemas operativos compatibles para ejecutores autoalojados

Los siguientes sistemas operativos son compatibles con la aplicación del ejecutor auto-hospedado.

Linux

  • Red Hat Enterprise Linux 7
  • CentOS 7
  • Oracle Linux 7
  • Fedora 29 o posterior
  • Debian 9 o posterior
  • Ubuntu 16.04 o posterior
  • Linux Mint 18 o posterior
  • openSUSE 15 o posterior
  • SUSE Enterprise Linux (SLES) 12 SP2 o posterior

Windows

  • Windows 7 64-bit
  • Windows 8.1 64-bit
  • Windows 10 64-bit
  • Windows Server 2012 R2 64-bit
  • Windows Server 2016 64-bit
  • Windows Server 2019 64-bit

MacOS

  • macOS 10.13 (High Sierra) o posterior

La comunicación entre ejecutores autoalojados y GitHub

El ejecutor auto-hospedado sondea a GitHub para solicitar actualizaciones de aplicaciones y para revisar si hay jobs en cola para su procesamiento. El ejecutor auto-hospedado utiliza un sondeo largo de HTTPS que abre una conexión a GitHub por 50 segundos, y si no recibe respuesta alguna, expira y crea un nuevo sondeo largo. La aplicación debe ejecutarse en la máquina para aceptar y ejecutar jobs de GitHub Actions.

Debes asegurarte de que la máquina tiene el acceso a la red adecuado para comunicarte con las URL de GitHub listadas a continuación.

github.com
api.github.com
*.actions.githubusercontent.com

Si utilizas un listado de direcciones IP permitidas para tu cuenta organizacional o empresarial de GitHub, debes agregar la dirección IP de tu ejecutor auto-hospedado a dicha lista. Para obtener más información, consulta "Administrar las direcciones IP permitidas para tu organización" o "Hacer cumplir los parámetros de seguridad en tu cuenta de empresa".

También puedes utilizar los ejecutores auto-hospedados con un servidor proxy. Para obtener más información, consulta la sección "Utilizar un servidor proxy con ejecutores auto-hospedados".

Seguridad de ejecutores autoalojdados con repositorios públicos

Te recomendamos que no utilices ejecutores auto-hospedados con repositorios públicos.

Las bifurcaciones de tu repositorio público pueden ejecutar código potencialmente peligroso en tu máquina de ejecutor auto-hospedado creando una solicitud de extracción que ejecute el código en un flujo de trabajo.

Este no es un problema con los ejecutores hospedados en GitHub, ya que cada uno de ellos siempre constituye una máquina virtual limpia y aislada, la cual se destruya al final de la ejecución del job.

Los flujos de trabajo no confiables que se ejecuten en tu ejecutor auto-hospedado representan riesgos de seguridad significativos para tu máquina y tu ambiente de red, especialmente si tu máquina persiste su ambiente entre jobs. Algunos de estos riesgos incluyen:

  • Programas maliciosos que se ejecutan en la máquina.
  • Escapar del entorno Sandbox del ejecutor de la máquina.
  • Exponer el acceso al entorno de red de la máquina.
  • Mantener datos peligrosos o no deseados en la máquina.

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos