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 recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

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.

Neste artigo

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 executores auto-hospedados no nível da organização, onde podem ser usados para processar trabalhos para vários repositórios em uma organização, ou você pode adicionar um executor auto-hospedado apenas para um repositório único.

Your runner machine connects to GitHub using the GitHub Actions self-hosted runner application. O aplicativo de executor do GitHub Actions tem código aberto. Você pode contribuir e arquivar problemas no repositório runner. When a new version is released, the runner application automatically updates itself when a job is assigned to the runner, or within a week of release if the runner hasn't been assigned any jobs.

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

For more information about installing and using self-hosted runners, see "Adding self-hosted runners" and "Using self-hosted runners in a workflow."

Você pode executar fluxos de trabalho nos executores hospedados em GitHub ou em executores auto-hospedados

GitHub-hosted runners offer a quicker, simpler way to run your workflows, while self-hosted runners are a highly configurable way to run workflows in your own custom environment.

GitHub-hosted runners:

  • 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.

Self-hosted runners:

  • 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

You can use any machine as a self-hosted runner as long at it meets these requirements:

  • Você pode instalar e executar o aplicativo do executor auto-hospedado na máquina. Para obter mais informações, consulte "Sistemas operacionais compatíveis com os 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.

Sistemas operacionais compatíveis com executores auto-hospedados

The following operating systems are supported for the self-hosted runner application.

Linux

  • Red Hat Enterprise Linux 7
  • CentOS 7
  • 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

Comunicação entre executores auto-hospedados e GitHub

As enquetes dos executores auto-hospedados GitHub 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 por 50 segundos e, se nenhuma resposta for recebida, o período de espera se encerra a uma nova enquete é criada. The application must be running on the machine to accept and run GitHub Actions jobs.

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
*.actions.githubusercontent.com

If you use an IP address allow list for your GitHub organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. Para obter mais informações consulte "Gerenciar endereços IP permitidos para a sua organização" ou "Aplicar as configurações de segurança na sua conta corporativa".

You can also use self-hosted runners with a proxy server. For more information, see "Using a proxy server with self-hosted runners."

Segurança dos executores auto-hospedados com repositórios públicos

Recomendamos que você não use runners auto-hospedados com repositórios públicos.

Bifurcações do seu repositório público podem potencialmente executar códigos perigosos na sua máquina de executor auto-hospedada, criando uma pull request que executa o código em um fluxo de trabalho.

This is not an issue with GitHub-hosted runners because each GitHub-hosted runner is always a clean isolated virtual machine, and it is destroyed at the end of the job execution.

Untrusted workflows running on your self-hosted runner poses significant security risks for your machine and network environment, especially if your machine persists its environment between jobs. Some of the risks include:

  • 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.

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato