Skip to main content
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 atualizadas, acesse a documentação em inglês.

Esta versão do GitHub Enterprise será descontinuada em 2023-03-15. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Sobre executores auto-hospedados

Você pode hospedar seus próprios executores e personalizar o ambiente usado para executar trabalhos nos seus fluxos de trabalho do GitHub Actions.

Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.

Sobre executores auto-hospedados

Um executor auto-hospedado é um sistema que você implanta e gerencia para executar trabalhos por meio do GitHub Actions no em your GitHub Enterprise Server instance. Para obter mais informações sobre o GitHub Actions, confira "Noções básicas sobre o GitHub Actions" e "Sobre o GitHub Actions para empresas".

Com os executores auto-hospedados, você pode criar configurações de hardware personalizadas de acordo com suas necessidades, com o poder de processamento ou a memória para executar trabalhos maiores, instalar programas de software disponíveis na sua rede local e escolher um sistema operacional. Os executores auto-hospedados podem ser físicos, virtuais, em um contêiner, 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 apresentar problemas no repositório do executor. Quando uma nova versão for lançada, o aplicativo do executor automaticamente é atualizado quando um trabalho é atribuído ao executor ou em uma semana após a versão, caso o executor não tenha recebido nenhum trabalho.

Observação: Se você usar executores efêmeros e tiver desabilitado as atualizações automáticas, para atualizar o your GitHub Enterprise Server instance, primeiro você deverá atualizar os executores auto-hospedados para a versão do aplicativo executor que sua instância atualizada executará. A atualização do your GitHub Enterprise Server instance antes de atualizar os executores efêmeros poderá fazer com que os executores fiquem offline. Para obter mais informações, confira "Como fazer upgrade do GitHub Enterprise Server".

Um executor auto-hospedado é automaticamente removido de GitHub Enterprise Server se não se conectar a GitHub Actions por mais de 30 dias.

Para obter mais informações sobre como instalar e usar executores auto-hospedados, confira "Como adicionar executores auto-hospedados" e "Como usar executores auto-hospedados em um fluxo de trabalho".

Diferenças entre os executores hospedados no GitHub e executores auto-hospedados

Os executores hospedados no GitHub oferecem uma forma mais rápida e simples de executar os fluxos de trabalho, enquanto os executores auto-hospedados são uma forma altamente configurável de executar fluxos de trabalho em um ambiente personalizado próprio.

Executores hospedados no GitHub:

  • Receba atualizações automáticas do sistema operacional, pacotes e ferramentas pré-instalados e o aplicativo do executor auto-hospedado.
  • São gerenciados e mantidos por GitHub.
  • Fornecem 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:

  • Receba atualizações automáticas apenas para o aplicativo do executor auto-hospedado. Você é responsável por atualizar o sistema operacional e todos os outros programas de software.
  • Podem usar serviços de nuvem ou máquinas locais pelos quais você já pagou.
  • São personalizáveis conforme seus requisitos de hardware, sistema operacional, software e segurança.
  • Não precisam ter uma instância limpa para cada execução de trabalho.
  • É grátis para usar com GitHub Actions, mas você é o responsável pelo custo de manter seus executores.
  • Podem ser organizados em grupos para restringir o acesso a organizações e repositórios específicos. Para obter mais informações, confira "Como gerenciar o acesso a executores auto-hospedados usando grupos".

Requisitos para executores auto-hospedados

Você pode usar qualquer máquina como um executor auto-hospedado, desde que ela atenda a estes requisitos:

Dimensionar automaticamente os seus executores auto-hospedados

Você pode aumentar ou diminuir automaticamente o número de executores auto-hospedados no seu ambiente em resposta aos eventos que você receber. Para obter mais informações, confira "Dimensionamento automático com executores auto-hospedados".

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 de fluxo de trabalho é limitada a 35 dias. Se a execução de um fluxo de trabalho atingir esse limite, a execução do fluxo de trabalho será cancelada. Esse período inclui a duração da execução e o tempo gasto em espera e aprovação.
  • Tempo de fila do trabalho – Cada trabalho dos executores auto-hospedados pode ser colocado na fila por, no máximo, 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é mil solicitações à API do GitHub em uma hora em todas as ações de um repositório. Se o número de solicitações for excedido, as chamadas à API adicionais falharão, o que poderá causar falha nos trabalhos.
  • Matriz de trabalho – Uma matriz de tarefas pode gerar 256 tarefas no máximo por execução do fluxo de trabalho. Esse limite se aplica a executores hospedados por GitHub Enterprise Server e auto-hospedados. - Fila de execução de fluxo de trabalho – No máximo, 500 execuções de fluxo de trabalho podem ser colocadas na fila em um intervalo de dez 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 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 de 64 bits
  • Windows 10 64 bits
  • Windows Server 2012 R2 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 e Windows.
  • ARM64 – Linux.
  • ARM32 – Linux.

Ações com suporte em corredores auto-hospedados

Algumas configurações extras podem ser necessárias para usar as ações do GitHub.com com o GitHub Enterprise Server ou para usar as ações actions/setup-LANGUAGE com executores auto-hospedados sem acesso à Internet. Para obter mais informações, confira "Como gerenciar o acesso às ações do GitHub.com" e entre em contato com o administrador do site do GitHub Enterprise.

Comunicação entre executores auto-hospedados e GitHub Enterprise Server

O executor auto-hospedado conecta-se a GitHub Enterprise Server para receber atividades de trabalho e fazer o download de novas versões do aplicativo do executor. O executor auto-hospedado usa uma sondagem longa HTTP(S) que abre uma conexão com o GitHub Enterprise Server por 50 segundos. Se nenhuma resposta for recebida, ela atingirá o tempo limite e criará uma sondagem longa. O aplicativo deve estar rodando na máquina para aceitar e executar trabalhos do GitHub Actions.

A conexão entre os executores auto-hospedados e o GitHub Enterprise Server é feita por HTTP (porta 80) ou HTTPS (porta 443). Para garantir a conectividade por meio de HTTPS, configure o TLS para o your GitHub Enterprise Server instance. Para obter mais informações, confira "Como configurar o TLS".

Somente uma conexão de saída do executor com a your GitHub Enterprise Server instance é necessária. Não há necessidade de uma conexão de entrada com a your GitHub Enterprise Server instance com o executor.

O GitHub Enterprise Server precisa aceitar conexões de entrada dos executores por HTTP(S) no subdomínio da API e no nome de host para your GitHub Enterprise Server instance e os executores precisam permitir conexões de saída por HTTP(S) para o nome do host e o subdomínio de API para your GitHub Enterprise Server instance.

Os executores auto-hospedados não exigem acesso à internet para funcionar. Como resultado, você pode usar o encaminhamento de rede para direcionar a comunicação entre o executor auto-hospedado e a your GitHub Enterprise Server instance. Por exemplo, você pode atribuir um endereço IP privado ao executor auto-hospedado e configurar o roteamento para enviar tráfego à your GitHub Enterprise Server instance, sem que o tráfego precise atravessar uma rede pública.

Você também pode usar executores auto-hospedados com um servidor proxy. Para obter mais informações, confira "Como usar um servidor proxy com executores auto-hospedados".

Para obter mais informações sobre como solucionar problemas comuns de conectividade de rede, confira "Monitoramento e solução de problemas de executores auto-hospedados".

Comunicação entre os executores auto-hospedados e o GitHub.com

Os executores auto-hospedados não precisam se conectar ao GitHub.com, a menos que você tenha habilitado o acesso automático às ações do GitHub.com para your GitHub Enterprise Server instance. Para obter mais informações, confira "Sobre como usar ações na sua empresa".

Se você tiver habilitado o acesso automático a ações GitHub.com, o executor auto-hospedado irá se conectar diretamente a GitHub.com para fazer o download das ações. Você deve garantir que a máquina tenha acesso adequado à rede para comunicar-se com as GitHub URLs listadas abaixo.

github.com
api.github.com
codeload.github.com

Observação: alguns dos domínios listados acima são configurados por meio de registros CNAME. Alguns firewalls podem exigir que você adicione regras de maneira recursiva para todos os registros CNAME. Observe que os registros CNAME poderão mudar no futuro e que apenas os domínios listados acima permanecerão constantes.

Segurança dos executores auto-hospedados

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.

Para obter mais informações sobre a proteção de segurança dos executores auto-hospedados, confira "Proteção de segurança do GitHub Actions".

Leitura adicional