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.

Virtual environments for GitHub-hosted runners

GitHub offers hosted virtual machines to run workflows. La máquina virtual contiene un entorno de herramientas, paquetes y configuraciones disponibles para que Acciones de GitHub los utilice.

Acciones de GitHub is available with GitHub gratis, GitHub Pro, Equipo de GitHub, and Nube de GitHub Enterprise. Acciones de GitHub is unavailable for per-repository plans, which are legacy billing plans. For more information, see "GitHub's products."

En este artículo

About GitHub-hosted runners

A GitHub-hosted runner is a virtual machine hosted by GitHub with the Acciones de GitHub runner application installed. GitHub offers runners with Linux, Windows, and macOS operating systems.

When you use a GitHub-hosted runner, machine maintenance and upgrades are taken care of for you. Puedes ejecutar flujos de trabajo directamente en la máquina virtual o en un contenedor Docker.

You can specify the runner type for each job in a workflow. Each job in a workflow executes in a fresh instance of the virtual machine. All steps in the job execute in the same instance of the virtual machine, allowing the actions in that job to share information using the filesystem.

Cloud hosts for GitHub-hosted runners

GitHub hosts Linux and Windows runners on Standard_DS2_v2 virtual machines in Microsoft Azure with the Acciones de GitHub runner application installed. The GitHub-hosted runner is a fork of the Azure Pipelines Agent. Para obtener más información acerca de los recursos de la máquina Standard_DS2_v2, consulta "DSv2-series" en la documentación de Microsoft Azure.

GitHub uses MacStadium to host the macOS runners.

Administrative privileges of GitHub-hosted runners

Las máquinas virtuales Linux y macPS se ejecutan sin la contraseña sudo. Cuando necesitas ejecutar comandos o instalar herramientas que requieren más privilegios que el usuario actual, puedes usar sudo sin la necesidad de brindar una contraseña. For more information, see the "Sudo Manual."

Windows virtual machines are configured to run as administrators with User Account Control (UAC) disabled. Para obtener más información, consulta "Cómo funciona el Control de cuenta de usuario".

Supported runners and hardware resources

Cada máquina virtual tiene los mismos recursos de hardware disponibles.

  • 2-core CPU
  • 7 GB de memoria RAM
  • 14 GB de espacio en el disco SSD
Entorno virtual Etiqueta de flujo de trabajo YAML
Windows Server 2019 windows-latest
Ubuntu 18.04 ubuntu-latest o ubuntu-18.04
Ubuntu 16.04 ubuntu-16.04
macOS Catalina 10.15 macos-latest

For a list of supported software, tools, and packages for each runner, see "Software in virtual environments for Acciones de GitHub."

IP addresses of GitHub-hosted runners

Windows and Ubuntu runners are hosted in Azure and have the same IP address ranges as Azure Data centers. Currently, all hosted runners are in the East US 2 Azure region, but more regions may be added over time.

Microsoft actualiza los rangos de dirección IP de Azure semanalmente en un archivo JSON que puedes descargar desde los rangos de IP de Azure y el sitio web de Etiquetas de servicio - Nube pública. Puedes usar este rango de direcciones IP si requieres una lista de permisos para impedir el acceso no autorizado a tus recursos internos.

El archivo JSON contiene una matriz denominada values (valores). Dentro de esa matriz, puedes encontrar las direcciones IP compatibles en un objeto con un nombre e id de "AzureCloud.eastus2".

Puedes buscar los rangos de direcciones IP compatibles en el objeto "addressPrefixes". Este es un ejemplo condensado del archivo JSON.

{
  "changeNumber": 84,
  "cloud": "Public",
  "values": [
    {
      "name": "AzureCloud.eastus2",
      "id": "AzureCloud.eastus2",
      "properties": {
        "changeNumber": 33,
        "region": "eastus2",
        "platform": "Azure",
        "systemService": "",
        "addressPrefixes": [
          "13.68.0.0/17",
          "13.77.64.0/18",
          "13.104.147.0/25",
          ...
        ]
      }
    }
  ]
}

Filesystems on GitHub-hosted runners

GitHub executes actions and shell commands in specific directories on the virtual machine. The file paths on virtual machines are not static. Use the environment variables GitHub provides to construct file paths for the home, workspace, and workflow directories.

Directory Variable de entorno Descripción
hogar HOME Contains user-related data. Por ejemplo, este directorio podría contener credenciales de un intento de inicio de sesión.
workspace GITHUB_WORKSPACE Actions and shell commands execute in this directory. Una acción puede modificar los contenidos de este directorio, al que pueden tener acceso las acciones posteriores.
workflow/event.json GITHUB_EVENT_PATH The POST payload of the webhook event that triggered the workflow. GitHub reescribe esto cada vez que se ejecuta una acción para aislar el contenido del archivo entre acciones.

For a list of the environment variables GitHub creates for each workflow, see "Using environment variables."

Sistema de archivos del contenedor Docker

Las acciones que se ejecutan en contenedores Docker tienen directorios estáticos en la ruta /github. However, we strongly recommend using the default environment variables to construct file paths in Docker containers.

GitHub se reserva el prefijo de ruta /github y crea tres directorios para acciones.

  • /github/home

  • /github/workspace - Note: Acciones de GitHub must be run by the default Docker user (root). Ensure your Dockerfile does not set the USER instruction, otherwise you will not be able to access GITHUB_WORKSPACE.

  • /github/workflow

Leer más

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos