Um executor auto-hospedado se conecta ao sua instância do GitHub Enterprise Server para receber atribuições de trabalho e para baixar novas versões do aplicativo executor. O executor auto-hospedado usa uma sondagem longa HTTP(S) que abre uma conexão com o GitHub 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.
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 executor será atualizado automaticamente em até 24 horas.
Note
Se você usar executores efêmeros e tiver desabilitado as atualizações automáticas, para atualizar o GitHub Enterprise Server, 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 GitHub Enterprise Server antes de atualizar os executores efêmeros poderá fazer com que os executores fiquem offline. Para saber mais, confira Visão geral do processo de atualização.
Um executor auto-hospedado é removido automaticamente do GitHub quando não se conecta ao GitHub Actions por mais de 14 dias. Um executor auto-hospedado efêmero é removido automaticamente do GitHub quando não se conecta ao GitHub Actions por mais de 1 dia.
A conexão entre executores auto-hospedados e o GitHub ocorre por HTTP (porta 80) ou HTTPS (porta 443). Para garantir a conectividade por HTTPS, configure o TLS para o GitHub Enterprise Server. Para saber mais, confira Configurar o TLS.
Somente uma conexão de saída do executor com GitHub Enterprise Server é necessária. Não há necessidade de uma conexão de entrada de GitHub Enterprise Server para o executor. Para que o cache funcione, o executor precisa conseguir se comunicar com o armazenamento de blobs e baixar diretamente o conteúdo dele.
O precisa aceitar as conexões de entrada dos executores via HTTP(S) no nome do host de sua instância do GitHub Enterprise Server e no subdomínio da API. Os executores devem permitir conexões de saída via HTTP(S) pelo nome do host de sua instância do GitHub Enterprise Server e o subdomínio de API.
Os executores auto-hospedados não exigem acesso à internet para funcionar. Como resultado, você pode usar o roteamento de rede para direcionar a comunicação entre o executor auto-hospedado e GitHub Enterprise Server. Por exemplo, você pode atribuir um endereço IP privado para o executor auto-hospedado e configurar o roteamento para enviar tráfego para GitHub Enterprise Server, sem necessidade de tráfego para atravessar uma rede pública.
Comunicação entre os executores auto-hospedados e o GitHub.com
Os executores auto-hospedados não precisam se conectar a GitHub.com, a menos que você tenha habilitado o acesso automático às ações de GitHub.com para GitHub Enterprise Server. Para saber mais, 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 pkg.actions.githubusercontent.com
github.com
api.github.com
codeload.github.com
pkg.actions.githubusercontent.com
Note
Alguns dos domínios listados 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 permanecerão constantes.