Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Virtual environments for GitHub-hosted runners

GitHub offers hosted virtual machines to run workflows. A máquina virtual tem um ambiente de ferramentas, pacotes e configurações disponíveis para uso no GitHub Actions.

GitHub Actions is available with GitHub Free, GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. GitHub Actions is unavailable for per-repository plans, which are legacy billing plans. For more information, see "GitHub's products."

Neste artigo

About GitHub-hosted runners

A GitHub-hosted runner is a virtual machine hosted by GitHub with the GitHub Actions 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. É possível executar fluxos de trabalho diretamente na máquina virtual ou em um contêiner 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 GitHub Actions runner application installed. The GitHub-hosted runner is a fork of the Azure Pipelines Agent. Para obter mais informações sobre os recursos da máquina Standard_DS2_v2, consulte "DSv2-series" na documentação do Microsoft Azure.

GitHub uses MacStadium to host the macOS runners.

Administrative privileges of GitHub-hosted runners

As máquinas virtuais Linux e macOS executam usando autenticação sem senha sudo. Quando precisar executar comandos ou instalar ferramentas que exigem mais permissões que o usuário atual possui, você pode usar sudo sem a necessidade de fornecer uma senha. For more information, see the "Sudo Manual."

Windows virtual machines are configured to run as administrators with User Account Control (UAC) disabled. Para obter mais informações, consulte "Como funciona o Controle de Conta do Usuário".

Supported runners and hardware resources

Cada máquina virtual tem os mesmos recursos de hardware disponíveis.

  • 2-core CPU
  • 7 GB de memória RAM
  • 14 GB de espaço de disco SSD
Ambiente virtual Etiqueta de fluxo de trabalho YAML
Windows Server 2019 windows-latest
Ubuntu 18.04 ubuntu-latest ou 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 GitHub Actions."

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.

A Microsoft atualiza os intervalos de endereços IP Azure semanalmente em um arquivo JSON que você pode baixar no site Azure intervalos IP e tags de serviço - nuvem pública. Você pode usar esse intervalo de endereços IP se precisar de uma lista de permissão para evitar acesso não-autorizado em seus recursos internos.

O arquivo JSON contém um array chamado values (valores). Dentro deste array, você encontra os endereços IP compatíveis em um objeto com name (nome) e id de "AzureCloud.eastus2".

Você pode encontrar os intervalos de endereços IP compatíveis no objeto "addressPrefixes". Este é um exemplo resumido do arquivo 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 Variável de ambiente Descrição
casa HOME Contains user-related data. Por exemplo, esse diretório pode conter credenciais de uma tentativa de login.
workspace GITHUB_WORKSPACE Actions and shell commands execute in this directory. Uma ação pode modificar o conteúdo desse diretório, que fica acessível nas ações subsequentes.
workflow/event.json GITHUB_EVENT_PATH The POST payload of the webhook event that triggered the workflow. O GitHub o rescreve sempre que uma ação é executada para isolar o conteúdo do arquivo entre as ações.

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

Sistema de arquivos do contêiner Docker

Ações executadas em contêineres Docker têm diretórios estáticos no caminho /github. However, we strongly recommend using the default environment variables to construct file paths in Docker containers.

O GitHub reserva o prefixo de caminho /github e cria três diretórios para ações.

  • /github/home

  • /github/workspace - Note: GitHub Actions 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

Leia mais

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato