Introducción a GitHublos ejecutores hospedados
Los runners son las máquinas que ejecutan trabajos en un flujo de trabajo 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 runners que puedes usar para ejecutar tus trabajos o puedes [hospedar tus propios runners](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners). A excepción de los ejecutores de CPU única, cada GitHubejecutor hospedado por }es una nueva máquina virtual hospedada por GitHub. Runners de CPU única se ejecutan en un contenedor en una VM compartida; consulte [AUTOTITLE](/actions/reference/runners/github-hosted-runners#single-cpu-runners).
Cada ejecutor incluye la aplicación del ejecutor y otras herramientas preinstaladas. GitHub ejecutores alojados están disponibles con los sistemas operativos Ubuntu Linux, Windows o macOS. Cuando usas un GitHubejecutor hospedado, el mantenimiento y las actualizaciones de la máquina se gestionan por ti.
Puede elegir una de las opciones de ejecutor hospedado estándar de GitHub, o si está en el plan GitHub Team o plan GitHub Enterprise Cloud, puede aprovisionar un ejecutor con más núcleos o un ejecutor con un procesador GPU. Estas máquinas se conocen como "ejecutor más grande". Para obtener más información, consulte Ejecutores más grandes.
Ejecutores más grandes también admite imágenes personalizadas, que le permiten crear y administrar sus propias imágenes de máquina virtual preconfiguradas. Para obtener más información, consulte [Imágenes personalizadas](#custom-images).
El uso de GitHubrunners hospedados requiere acceso a la red con al menos 70 kilobits por segundo de subida y descarga.
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`](https://github.com/actions/runner-images). Nuestras arm64 imágenes son imágenes de socios y se administran en el repositorio [`actions/partner-runner-images`](https://github.com/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.
GitHubLos ejecutores hospedados 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 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 puede instalar software adicional en GitHubejecutores hospedados. 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 GitHubimagen base proporcionada 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. Los trabajos que usan imágenes personalizadas se facturan con las mismas tarifas por minuto que esos ejecutores. El almacenamiento de imágenes personalizadas se factura y mide a través del almacenamiento GitHub Actions. Para más información, consulta facturación de Acciones de GitHub.
Para empezar a trabajar con imágenes personalizadas, consulte Uso de imágenes personalizadas.
Hosts en la nube usados por GitHubejecutores hospedados
GitHub aloja corredores para Linux y Windows en máquinas virtuales en Microsoft Azure con la aplicación de GitHub Actions corredores instalada. La aplicación ejecutora hospedada 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á.
Además, si la ejecución del flujo de trabajo se ha puesto en cola correctamente, pero no ha sido procesada por un GitHubejecutor hospedado en un plazo de 45 minutos, se descarta la ejecución del flujo de trabajo en cola.
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.