Observação: GitHub Actions estava disponível para GitHub Enterprise Server 2.22 como um beta limitado. O beta terminou. GitHub Actions está agora geralmente disponível em GitHub Enterprise Server 3.0 ou posterior. Para obter mais informações, consulte as observações sobre a versão GitHub Enterprise Server 3.0.
- Para obter mais informações sobre a atualização para GitHub Enterprise Server 3.0 ou posterior, consulte "Atualizar GitHub Enterprise Server".
- Para obter mais informações sobre a configuração de GitHub Actions após atualizar, consulte a documentação para GitHub Enterprise Server 3.0.
Observação: Executores hospedados em GitHub não são atualmente compatíveis com GitHub Enterprise Server. Você pode ver mais informações sobre suporte futuro planejado no Itinerário público do GitHub.
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.
GitHub hospedas executores do macOS na nuvem do macOS do próprio GitHub.
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
Hardware specification for Windows and Linux virtual machines:
- CPU dual core
- 7 GB de memória RAM
- 14 GB de espaço de disco SSD
Hardware specification for macOS virtual machines:
- 3-core CPU
- 14 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 ou windows-2019 |
Ubuntu 20.04 | ubuntu-latest (see note) or ubuntu-20.04 |
Ubuntu 18.04 | ubuntu-latest (see note) or ubuntu-18.04 |
Ubuntu 16.04 | ubuntu-16.04 |
macOS Big Sur 11.0 | macos-11.0 |
macOS Catalina 10.15 | macos-latest or macos-10.15 |
Note: The ubuntu-latest
label is currently being migrated from the Ubuntu 18.04 virtual environment to Ubuntu 20.04. Specifying the ubuntu-latest
label during the migration might use either virtual environment. To explicitly use Ubuntu 20.04 or Ubuntu 18.04, specify ubuntu-20.04
or ubuntu-18.04
. When the migration is complete, ubuntu-latest
will use the Ubuntu 20.04 virtual environment. For more information about the migration, see "Ubuntu-latest workflows will use Ubuntu-20.04."
Note: The macOS 11.0 virtual environment is currently provided as a private preview only. Any users or organizations that are already using this runner can continue using it, but we're not accepting any further users or organizations at this time. The macos-latest
YAML workflow label still uses the macOS 10.15 virtual environment.
Lista de registros de fluxo de trabalho do executor usado para executar um trabalho. Para obter mais informações, consulte "Visualizar histórico de execução de fluxo de trabalho".
Software compatível
As ferramentas do software incluídas em executores hospedados em GitHub são atualizadas semanalmente. Para a lista mais recente das ferramentas incluídas para cada sistema operacional do executor, consulte os links abaixo:
- Ubuntu 20.04 LTS
- Ubuntu 18.04 LTS
- Ubuntu 16.04 LTS
- Windows Server 2019
- Windows Server 2016
- macOS 10.15
- macOS 11.0
Note: The ubuntu-latest
label is currently being migrated from the Ubuntu 18.04 virtual environment to Ubuntu 20.04. Specifying the ubuntu-latest
label during the migration might use either virtual environment. To explicitly use Ubuntu 20.04 or Ubuntu 18.04, specify ubuntu-20.04
or ubuntu-18.04
. When the migration is complete, ubuntu-latest
will use the Ubuntu 20.04 virtual environment. For more information about the migration, see "Ubuntu-latest workflows will use Ubuntu-20.04."
Note: The macOS 11.0 virtual environment is currently provided as a private preview only. Any users or organizations that are already using this runner can continue using it, but we're not accepting any further users or organizations at this time. The macos-latest
YAML workflow label still uses the macOS 10.15 virtual environment.
Executores hospedados no GitHub incluem as ferramentas integradas padrão do sistema operacional, além dos pacotes listados nas referências acima. Por exemplo, os executores do Ubuntu e do macOS incluem grep
, find
e which
, entre outras ferramentas-padrão.
Workflow logs include a link to the preinstalled tools on the exact runner. To find this information in the workflow log, expand the Set up job
section. Under that section, expand the Virtual Environment
section. The link following Included Software
will tell you the the preinstalled tools on the runner that ran the workflow. For more information, see "Viewing workflow run history."
We recommend using actions to interact with the software installed on runners. This approach has several benefits:
- Usually, actions provide more flexible functionality like versions selection, ability to pass arguments, and parameters
- It ensures the tool versions used in your workflow will remain the same regardless of software updates
Se houver uma ferramenta que você queira solicitar, abra um problema em actions/virtual-environments. This repository also contains announcements about all major software updates on runners.
Endereços IP
Observação: Se você usar uma lista de permissões de endereço IP para a sua organização ou conta corporativa de GitHub, você não poderá usar executores hospedados em GitHub. Em vez disso, deverá usar executores auto-hospedados. Para obter mais informações, consulte "Sobre os executores auto-hospedados."
Os executores do Windows e Ubuntu são hospedados no Azure e, consequentemente, têm as mesmas faixas de endereços IP que os centros de dados do Azure. Os executores do macOS estão hospedados na própria nuvem do macOS de GitHub.
Para obter uma lista de intervalos de endereços IP que GitHub Actions usa para executores hospedados em GitHub, você poderá usar a API REST de GitHub. Para obter mais informações, consulte a chave de ações
na resposta do ponto de extremidade "Obtenha as metainformações do GitHub". Você pode usar essa lista de endereços IP se precisar de uma lista de permissão para evitar acesso não autorizado para os seus recursos internos.
A lista de endereços IP de GitHub Actions retornados pela API é atualizada uma vez por semana.
Sistemas de arquivos
O GitHub executa ações e comandos de shell em diretórios específicos na máquina virtual. Os caminhos dos arquivos nas máquinas virtuais não são estáticos. Use as variáveis de ambiente que GitHub fornece para construir caminhos de arquivos para os diretórios home
, workspace
e workflow
.
Diretório | Variável de ambiente | Descrição |
---|---|---|
home | HOME | Contém dados relacionados ao usuário. Por exemplo, esse diretório pode conter credenciais de uma tentativa de login. |
workspace | GITHUB_WORKSPACE | As 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.json | GITHUB_EVENT_PATH | O payload do 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. |
Para obter uma lista das variáveis de ambiente que GitHub cria para cada fluxo de trabalho, consulte "Usar variáveis de ambiente".
Sistema de arquivos do contêiner Docker
Ações executadas em contêineres Docker têm diretórios estáticos no caminho /github
. No entanto, é altamente recomendável usar as variáveis de ambiente padrão para elaborar caminhos de arquivos em contêineres do Docker.
O GitHub reserva o prefixo de caminho /github
e cria três diretórios para ações.
/github/home
/github/workspace
- Observação: GitHub Actions deve ser executado pelo usuário do Docker padrão (raiz). Certifique-se de seu arquivo do Dockerfile não defina a instruçãoUSUÁRIO
. Caso contrário, você não conseguirá acessarGITHUB_WORKSPACE
./github/workflow