Información general de ejecutores hospedados en GitHub
Los ejecutores son las máquinas que ejecutan trabajos en un flujo de trabajo de GitHub Actions. Por ejemplo, un ejecutor puede clonar el repositorio localmente, instalar software de prueba y, a continuación, ejecutar comandos que evalúen el código.
GitHub proporciona ejecutores que puedes usar para ejecutar los trabajos o puedes hospedar tus propios ejecutores. Cada ejecutor hospedado en GitHub es una nueva máquina virtual (VM) hospedada por GitHub con la aplicación del ejecutor y otras herramientas preinstaladas, y está disponible con sistemas operativos Ubuntu Linux, Windows o macOS. Cuando usas un ejecutor alojado en GitHub, se contemplan el mantenimiento de la máquina y las actualizaciones.
Puedes elegir una de las opciones del ejecutor estándar hospedado en GitHub o bien, si estás en el plan GitHub Team o GitHub Enterprise Cloud, puedes aprovisionar un ejecutor con más núcleos o un ejecutor con tecnología de procesador GPU. A estas máquinas se les conoce como "ejecutor más grande". Para más información, consulta Acerca de los ejecutores más grandes.
El uso de ejecutores hospedados por GitHub requiere acceso a la red con al menos 70 kilobits por segundo de carga y velocidades de descarga.
Nota:
Los minutos de derecho para los ejecutores alojados en GitHub no están disponibles para cuentas de usuario administradas. Enterprise Managed Users que deseen contribuir a repositorios de organizaciones de las que no son miembros pueden hacer una bifurcación del repositorio de la organización y, a continuación, abrir una solicitud de incorporación de cambios dirigida al repositorio de la organización. Esto ejecuta los flujos de trabajo en los ejecutores alojados en la organización GitHub. Para obtener más información, consulta Acerca de Enterprise Managed Users.
Imágenes de ejecutores
GitHub mantiene nuestro propio conjunto de imágenes de máquina virtual para nuestros ejecutores hospedados estándar. Esto incluye las imágenes para macOS, Linux x64 e imágenes de Windows. La lista de imágenes y sus herramientas incluidas se administran en el repositorio actions/runner-images
. Nuestras imágenes arm64 son imágenes de asociados y se administran en el repositorio actions/partner-runner-images
.
Software preinstalado para imágenes propiedad de GitHub
Las herramientas de software incluidas en nuestras imágenes propiedad de GitHub se actualizan semanalmente. El proceso de actualización toma varios días y la lista de software preinstalado en la rama main
se actualiza después de que termine toda la implementación.
Las bitácoras de flujo de trabajo incluyen un enlace a las herramientas preinstaladas en el ejecutor exacto. Para encontrar esta información en el registro del flujo de trabajo, expanda la sección Set up job
. En esa sección, expanda la sección Runner Image
. El enlace que sigue a Included Software
describirá las herramientas preinstaladas en el ejecutor que ha ejecutado el flujo de trabajo.
Para más información, consulta Viewing workflow run history.
Los ejecutores alojados en GitHub incluyen las herramientas integradas predeterminadas del sistema operativo, además de los paquetes enumerados en las referencias anteriores. Por ejemplo, los ejecutores de Ubuntu y macOS incluyen grep
, find
y which
, entre otras herramientas predeterminadas.
También puedes ver una lista de materiales de software (SBOM) para cada compilación de las imágenes del ejecutor de Windows y Ubuntu. Para más información, consulta Secure use reference.
Te recomendamos utilizar acciones para interactuar con el software instalado en los ejecutores. Este enfoque tiene varias ventajas:
- Habitualmente, las acciones proporcionan una funcionalidad más flexible, como la selección de la versión, la capacidad de pasar argumentos y los parámetros.
- Garantiza que las versiones de herramienta que se utilizan en tu flujo de trabajo permanecerán iguales sin importar las actualizaciones de software
Si deseas solicitar alguna herramienta, abre una incidencia en actions/runner-images. Este repositorio también contiene anuncios sobre todas las actualizaciones de software principales en los ejecutores.
Nota:
También puedes instalar software adicional en los ejecutores hospedados en GitHub. Consulta Personalizar los ejecutores hospedados en GitHub.
Hosts en la nube usados por ejecutores hospedados en GitHub
GitHub hospeda ejecutores de Linux y Windows en máquinas virtuales en Microsoft Azure con la aplicación del ejecutor de GitHub Actions instalada. La aplicación del ejecutor alojada en GitHub es una bifurcación del agente de Azure Pipelines. Los paquetes ICMP entrantes están bloqueados para todas las máquinas virtuales de Azure, por lo tanto, es posible que los comandos ping o traceroute no funcionen. GitHub hospeda ejecutores de macOS en centros de datos de Azure.
Continuidad del flujo de trabajo
Si los servicios de las GitHub Actions se encuentran temporalmente no disponibles, entonces se descartará una ejecución de flujo de trabajo si no se puso en cola en los primeros 30 minutos después de activarse. Por ejemplo, si un flujo de trabajo se activa y los servicios de las GitHub Actions no están disponibles por 31 minutos o más, entonces la ejecución de flujo de trabajo no se procesará.
Adicionalmente, si la ejecución de flujo de trabajo se puso en cola con éxito, pero no la ha procesado un ejecutor hospedado en GitHub en los 45 minutos subsecuentes, entonces la ejecución de flujo de trabajo en cola se descartará.
El archivo etc/hosts
Los ejecutores hospedados de GitHub se aprovisionan con un archivo etc/hosts
que bloquea el acceso de red a varios grupos de minería de criptomonedas y sitios malintencionados. Los hosts como MiningMadness.com y cpu-pool.com se vuelven a enrutar a localhost para que no presenten un riesgo de seguridad significativo.