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.

Ambientes virtuais para os executores do GitHub Actions

O GitHub oferece máquinas virtuais hospedadas para executar fluxos de trabalho. A máquina virtual tem um ambiente de ferramentas, pacotes e configurações disponíveis para uso no GitHub Actions.

GitHub Actions está disponível com GitHub Free, GitHub Pro, GitHub Free para organizações, GitHub Team, GitHub Enterprise Cloud e GitHub One. O GitHub Actions não está disponível para repositórios privados de contas que utilizam planos antigos por-repositório. Para obter mais informações, consulte os "produtos do GitHub".

Neste artigo

Sobre os executores hospedados no GitHub

Um executor hospedado no GitHub é uma máquina virtual hospedada pelo GitHub com o aplicativo do executor GitHub Actions instalado. O GitHub oferece executores com os sistemas operacionais Linux, Windows e macOS.

Ao usar um executor hospedada no GitHub, a manutenção e as atualizações da máquina são feitas para você. É possível executar fluxos de trabalho diretamente na máquina virtual ou em um contêiner Docker.

Você pode especificar o tipo de executor para cada trabalho em um fluxo de trabalho. Cada trabalho em um fluxo de trabalho é executado em uma nova instância da máquina virtual. Todas as etapas de um trabalho são executadas na mesma instância da máquina virtual, o que permite que ações de cada trabalho compartilhem informações usando o sistema de arquivos.

O aplicativo de executor do GitHub Actions tem código aberto. Você pode contribuir e arquivar problemas no repositório runner.

Hosts da nuvem para os executores hospedados em GitHub

O GitHub hospeda executores do Linux e Windows no Standard_DS2_v2 máquinas virtuais no Microsoft Azure com o aplicativo do executor GitHub Actions instalado. A o aplicativo do executor hospedado no GitHub é uma bifurcação do agente do Azure Pipelines. Os pacotes ICMP de entrada estão bloqueados para todas as máquinas virtuais do Azure. Portanto, é possível que os comandos ping ou traceroute não funcionem. Para obter mais informações sobre os recursos da máquina Standard_DS2_v2, consulte "Dv2 e DSv2-series" na documentação do Microsoft Azure.

O GitHub usa MacStadium para hospedar os executores do macOS.

Privilégios administrativos os executores hospedados no GitHub

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. Para obter mais informações, consulte o "Manual do Sudo".

As máquinas virtuais do Windows estão configuradas para ser executadas como administradores com Controle de Conta de Usuário (UAC) desativado. Para obter mais informações, consulte "Como funciona o Controle de Conta de Usuário" na documentação do Windows.

Executores e recursos de hardware compatíveis

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

  • CPU dual core
  • 7 GB de memória RAM
  • 14 GB de espaço de disco SSD
Ambiente virtualEtiqueta de fluxo de trabalho YAML
Windows Server 2019windows-latest ou windows-2019
Ubuntu 20.04ubuntu-20.04
Ubuntu 18.04ubuntu-latest ou ubuntu-18.04
Ubuntu 16.04ubuntu-16.04
macOS Catalina 10.15macos-latest or macos-10.15

Nota: O ambiente virtual do Ubuntu 20.04 é atualmente fornecido apenas como visualização. A etiqueta de fluxo de trabalho YAML ubuntu-latest ainda usa o ambiente virtual Ubuntu 18.04.

For a list of supported software, tools, and packages for each runner, see "Software installed on GitHub-hosted runners."

You can view the logs for a workflow run to see the exact runner environment that was used for a job, as well as a link to the preinstalled tools that were on the runner. For more information, see "Managing a workflow run."

Os endereços IP dos executores hospedados no GitHub

Note: If you use an IP address allow list for your GitHub organization or enterprise account, you cannot use GitHub-hosted runners and must instead use self-hosted runners. For more information, see "About self-hosted runners."

Windows and Ubuntu runners are hosted in Azure and have the same IP address ranges as Azure Data centers. Currently, all Windows and Ubuntu GitHub-hosted runners are in the following Azure regions:

  • Leste dos EUA (eastus)
  • Leste dos EUA 2 (eastus2)
  • Oeste dos EU 2 (westus2)
  • Centro dos EUA (centralus)
  • Centro-sul dos EUA (southcentralus)

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). Inside that array, you can find the supported IP addresses in an object with a name and id of the Azure region, for example "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",
          ...
        ]
      }
    }
  ]
}

Sistemas de arquivos nos executores hospedados no GitHub

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.

DiretórioVariável de ambienteDescrição
casaHOMEContém dados relacionados ao usuário. Por exemplo, esse diretório pode conter credenciais de uma tentativa de login.
área de trabalhoGITHUB_WORKSPACEAs ações e comandos do shell executados neste diretório. Uma ação pode modificar o conteúdo desse diretório, que fica acessível nas ações subsequentes.
workflow/event.jsonGITHUB_EVENT_PATHA carga POST do evento webhook que acionou o fluxo de trabalho. 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