Skip to main content

Ejecutores hospedados en GitHub

GitHub ofrece máquinas virtuales hospedadas para ejecutar flujos de trabajo. La máquina virtual contiene un entorno de herramientas, paquetes y configuraciones disponibles para que GitHub Actions los utilice.

Información general de ejecutores hospedados en GitHub

Los runners 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 incluye la aplicación de ejecutor y otras herramientas preinstaladas. GitHub ejecutores hospedados están disponibles con sistemas operativos Ubuntu Linux, Windows o macOS. Cuando utilizas un ejecutor alojado en GitHub, el mantenimiento y las actualizaciones de la máquina se gestionan por ti.

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 Ejecutores más grandes.

Ejecutores más grandes también son compatibles con imágenes personalizadas, permitiéndole crear y gestionar sus propias imágenes de máquina virtual preconfiguradas. Para obtener más información, consulte Imágenes personalizadas.

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.

Imagénes del ejecutor

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 arm64 imágenes son imágenes de socios 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 Visualizar el historial de ejecución del flujo de trabajo.

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 versión de las imágenes del runner de Windows y Ubuntu. Para más información, consulta Referencia de uso seguro.

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 Personalización de runners hospedados en GitHub.
  • Aunque la virtualización anidada es técnicamente posible mientras se usan ejecutores, no se admite oficialmente. Cualquier uso de máquinas virtuales anidadas es experimental y se realiza en su propio riesgo, no ofrecemos ninguna garantía con respecto a la estabilidad, el rendimiento o la compatibilidad.

Imágenes personalizadas

Las imágenes personalizadas le permiten empezar con una imagen base GitHubimagen base proporcionada por }y crear su propia imagen de máquina virtual personalizada para sus necesidades de flujo de trabajo. Con imágenes personalizadas, puede hacer lo siguiente:

  • Cree imágenes de máquina virtual personalizadas mediante la sintaxis YAML de flujo de trabajo existente.
  • Configure previamente entornos con herramientas aprobadas, revisiones de seguridad y dependencias antes de que se inicien los flujos de trabajo.
  • Cree entornos base coherentes y validados en todas las compilaciones.

Las imágenes personalizadas pueden incluir código de repositorio, imágenes de contenedor, archivos binarios, certificados y otras dependencias para crear un entorno de compilación coherente entre flujos de trabajo. Esto le ayuda a obtener el control sobre su cadena de suministro. Ayudan a reducir el tiempo de configuración, mejorar el rendimiento de la compilación y reforzar la seguridad mediante la reducción del vector de ataque de superficie en las imágenes. Los administradores también pueden aplicar directivas para administrar versiones de imagen, retención y antigüedad para cumplir los requisitos de seguridad y cumplimiento de la organización.

Las imágenes personalizadas solo se pueden usar con ejecutores más grandes y se facturan con las mismas tarifas por minuto que esos ejecutores. El almacenamiento de imágenes personalizadas se factura y se mide a través de GitHub Actions storage. Para obtener más información sobre la facturación, consulte facturación de GitHub Actions.

Para empezar a trabajar con imágenes personalizadas, consulte Uso de imágenes personalizadas.

Servidores en la nube usados por runners 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.