Skip to main content

Como se comunicar com executores auto-hospedados

Seus executores auto-hospedados podem se comunicar com o GitHub

Um executor auto-hospedado se conecta ao GitHub para receber atribuições de trabalho e para baixar novas versões do aplicativo executor. O executor auto-hospedado usa uma sondagem longa HTTPS 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 é 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 é 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 HTTPS (porta 443).

Como o executor auto-hospedado abre uma conexão com GitHub, você não precisa permitir que GitHub faça conexões de entrada com o executor auto-hospedado.

Você deve garantir que a máquina tenha acesso adequado à rede com velocidades de upload e download de pelo menos 70 quilobits por segundo para a comunicação com os hosts de GitHub listados abaixo. Alguns hosts são necessários para operações essenciais de executores, enquanto outros hosts só são necessários para certas funcionalidades.

Você pode usar a API REST para obter metainformações sobre a GitHub, incluindo os endereços IP dos serviços da GitHub. Confira Pontos de extremidade da API REST para metadados.

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.

Necessário para operações essenciais:

Shell
github.com
api.github.com
*.actions.githubusercontent.com

Necessário para baixar as ações:

Shell
codeload.github.com
pkg.actions.githubusercontent.com

Necessário para publicar ações imutáveis:

Shell
ghcr.io

Necessário para upload/download de caches e artefatos de fluxo de trabalho:

Shell
results-receiver.actions.githubusercontent.com
*.blob.core.windows.net

Necessário para as atualizações de versão do executor:

Shell
objects.githubusercontent.com
objects-origin.githubusercontent.com
github-releases.githubusercontent.com
github-registry-files.githubusercontent.com

Necessário para recuperar tokens OIDC:

Shell
*.actions.githubusercontent.com

Necessário para baixar ou publicar pacotes ou contêineres em pacotes do GitHub:

Shell
*.pkg.github.com
pkg-containers.githubusercontent.com
ghcr.io

Necessário para o Git Large File Storage

Shell
github-cloud.githubusercontent.com
github-cloud.s3.amazonaws.com

Necessário para trabalhos das Dependabot updates

Shell
dependabot-actions.githubapp.com

Além disso, seu fluxo de trabalho pode exigir acesso a outros recursos de rede.

Se você usar uma lista de endereços IP permitida para a sua a sua organização ou conta corporativa do GitHub, você deverá adicionar o endereço IP do executor auto-hospedado à lista de permissões. Confira Como gerenciar endereços IP permitidos para sua organização ou Como impor políticas para configurações de segurança na sua empresa" na documentação do GitHub Enterprise Cloud.

Leitura adicional