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 executores auto-hospedados
Executores auto-hospedados oferecem mais controle de hardware, sistema operacional e ferramentas de software do que os executores hospedados pelo GitHub. Com executores auto-hospedados, você pode optar por criar uma configuração de hardware personalizado com mais poder de processamento ou memória para executar trabalhos maiores, software de instalação disponível na sua rede local e escolher um sistema operacional não oferecido por executores hospedados do GitHub. Os executores auto-hospedados podem ser físicos, virtuais, estar em um container, no local ou em uma nuvem.
Você pode adicionar runners auto-hospedados em vários níveis na hierarquia de gerenciamento:
- Runners em nível de repositório são dedicados a um único repositório.
- Executores no nível da organização podem processar trabalhos para vários repositórios em uma organização.
- Runners de nível empresarial podem ser atribuídos a várias organizações em uma conta corporativa.
A sua máquina do executor conecta-se ao GitHub Enterprise Server usando o aplicativo do executor auto-hospedado de GitHub Actions. O aplicativo de executor do GitHub Actions tem código aberto. Você pode contribuir e arquivar problemas no repositório runner. Quando uma nova versão é lançada, o aplicativo do executor atualiza-se automaticamente quando uma tarefa é atribuída ao executor, ou dentro de uma semana após a liberação, caso o executor não tenha recebido nenhum trabalho.
Um executor auto-hospedado é automaticamente removido de GitHub Enterprise Server se não se conectar a GitHub Actions por mais de 30 dias.
Para mais informações sobre instalação e uso de executores auto-hospedados, consulte "Adicionar executores auto-hospedados" e "Usar executores auto-hospedados em um fluxo de trabalho."
Você pode executar fluxos de trabalho nos executores hospedados em GitHub ou em executores auto-hospedados
Os executores auto-hospedados em GitHub oferecem uma maneira mais rápida e simples de executar seus fluxos de trabalho, enquanto os executores auto-hospedados são uma maneira altamente configurável de executar fluxos de trabalho em seu próprio ambiente personalizado.
Executores hospedados no GitHub:
- Recebe atualizações automáticas para o sistema operacional, pacotes e ferramentas pré-instalados e o aplicativo do executor auto-hospedado.
- São gerenciados e mantidos por GitHub.
- Fornece uma instância limpa para cada execução de trabalho.
- Use minutos grátis no seu plano GitHub, com taxas por minuto aplicadas após exceder os minutos grátis.
Executores auto-hospedados:
- Recebem atualizações automáticas apenas para o aplicativo do executor auto-hospedado. Você é responsável por atualizar o sistema operacional e todos os outros softwares.
- Pode usar serviços de nuvem ou máquinas locais pelos quais você já paga.
- É personalizável para seu hardware, sistema operacional, software e requisitos de segurança.
- Não é necessário ter uma instância limpa para a execução de cada trabalho.
- São grátis para usar com GitHub Actions, mas você é responsável pelo custo de manutenção das suas máquinas executoras.
Requisitos para executores auto-hospedados
Você pode usar qualquer máquina como um executor auto-hospedado, desde que ela atenda a estes requisitos:
- Você pode instalar e executar o aplicativo do executor auto-hospedado na máquina. Para obter mais informações, consulte "Arquiteturas e sistemas operacionais compatíveis com executores auto-hospedados".
- A máquina pode comunicar-se com GitHub Actions. Para obter mais informações, consulte "Comunicação entre os executores auto-hospedados e GitHub".
- A máquina tem recursos de hardware suficientes para o tipo de fluxos de trabalho que você planeja executar. O aplicativo do executor auto-hospedado requer apenas recursos mínimos.
- Se você desejar executar fluxos de trabalho que usam ações do contêiner do Docker ou dos contêineres de serviço, você deverá usar uma máquina Linux e o Docker deve estar instalados.
Limites de uso
Existem alguns limites sobre o uso de GitHub Actions ao usar executores auto-hospedados. Estes limites estão sujeitos a mudanças.
- Tempo de execução do fluxo de trabalho - Cada execução do fluxo de trabalho é limitada a 72 horas. Se a execução de um fluxo de trabalho atingir esse limite, a execução do fluxo de trabalho será cancelada.
- Tempo de fila de tarefas - Cada trabalho para executores auto-hospedados pode ser enfileirado por um máximo de 24 horas. Se um executor auto-hospedado não começar a executar a tarefa dentro deste limite, a tarefa será encerrada e não será concluída.
- Solicitações de API - Você pode executar até 1000 solicitações de API por hora em todas as ações dentro de um repositório. Se excedido, as chamadas de API adicionais falharão, o que pode causar falha nas tarefas.
- Matriz de vagas - Uma matriz de tarefas pode gerar 256 tarefas no máximo por execução do fluxo de trabalho. Este limite também se aplica a executores auto-hospedados.
- Fila de execução do fluxo de trabalho - Apenas 500 execuções do fluxo de trabalho podem ser enfileiradas em um segundo intervalo de 10 segundos por repositório. Se a execução de um fluxo de trabalho atingir esse limite, a execução do fluxo de trabalho terminará e falhará em ser concluída.
Continuidade do fluxo de trabalho para executores auto-hospedados
Se os serviços de GitHub Actions estiverem temporariamente indisponíveis, a execução do fluxo de trabalho será descartada se não tiver sido enfileirada em 30 minutos após ser acionada. Por exemplo, se um fluxo de trabalho for acionado e os serviços de GitHub Actions não estiverem disponíveis por 31 minutos ou mais, a execução do fluxo de trabalho não será processada.
Arquiteturas e sistemas operacionais compatíveis com executores auto-hospedados
Os sistemas operacionais a seguir são compatíveis com o aplicativo de execução auto-hospedado.
Linux
- Red Hat Enterprise Linux 7 ou posterior
- CentOS 7 ou posterior
- Oracle Linux 7
- Fedora 29 ou versão posterior
- Debian 9 ou versão posterior
- Ubuntu 16.04 ou versão posterior
- Linux Hortelã 18 ou versão posterior
- openSUSE 15 ou versão posterior
- SUSE Enterprise Linux (SLES) 12 SP2 ou versão posterior
Windows
- Windows 7 64-bit
- Windows 8.1 64-bit
- Windows 10 64-bit
- Windows Server 2012 R2 64-bit
- Windows Server 2016 64-bit
- Windows Server 2019 64-bit
macOS
- macOS 10.13 (High Sierra) or versão posterior
Arquiteturas
As seguintes arquiteturas de processador são compatíveis com o aplicativo do executor auto-hospedado.
x64
- Linux, macOS, Windows.ARM64
- Apenas Linux.ARM32
- Apenas Linux.
Comunicação entre executores auto-hospedados e GitHub
Algumas configurações extras podem ser necessárias para usar ações de GitHub.com com GitHub Enterprise Server ou para usar as ações actions/setup-LANGUAGE
com executores auto-hospedados sem acesso à internet. Para obter mais informações, consulte "Comunicação entre os executores auto-hospedados e GitHub".
Comunicação entre executores auto-hospedados e GitHub Enterprise Server
As enquetes dos executores auto-hospedados GitHub Enterprise Server para recuperar atualizações do aplicativo e verificar se algum trabalho está na fila para processamento. O executor auto-hospedado usa uma enquete longa HTTPS que abre uma conexão com GitHub Enterprise Server por 50 segundos e, se nenhuma resposta for recebida, o período de espera se encerra a uma nova enquete é criada. O aplicativo deve estar rodando na máquina para aceitar e executar trabalhos do GitHub Actions.
Você deve garantir que a máquina tenha acesso adequado à rede para comunicar-se com sua instância do GitHub Enterprise Server.
Você também pode usar executores auto-hospedados com um servidor proxy. Para obter mais informações, consulte "Usar um servidor proxy com executores auto-hospedados."
Segurança dos executores auto-hospedados com repositórios públicos
Recomendamos que você use apenas executores auto-hospedados com repositórios privados. Isso acontece porque as bifurcações do seu repositório podem potencialmente executar código perigoso na sua máquina de executor auto-hospedada criando um pull request que executa o código em um fluxo de trabalho.
Este não é um problema com executores hospedados no GitHub, pois cada executor hospedado no GitHub é sempre uma máquina virtual limpa e isolada, que é destruída no final da execução do trabalho.
Os fluxos de trabalho não confiáveis no seu executor auto-hospedado representam riscos de segurança significativos para seu ambiente de rede e máquina, especialmente se sua máquina persistir no ambiente entre os trabalhos. Alguns dos riscos incluem:
- Programas maliciosos em execução na máquina.
- Sair do sandbox do executor da máquina.
- Expor acesso ao ambiente de rede da máquina.
- Dados persistentes, indesejados ou perigosos na máquina.