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.
O GitHub AE está atualmente sob versão limitada. Entre em contato com nossa Equipe de Vendas para saber mais.

About self-hosted runners

You can host your own runners and customize the environment used to run jobs in your GitHub Actions workflows.

Aviso: Os executores auto-hospedados estão atualmente desabilitados para GitHub AE. Isso porque GitHub AE oferece garantias para as fronteiras de segurança que são incompatíveis com a forma como os executores hospedados funcionam. No entanto, se você precisar usar executores auto-hospedados com GitHub AE e entender as implicações de segurança, você poderá entrar em contato com o suporte de GitHub para uma exceção de segurança que irá habilitar executores auto-hospedados.

Se você não precisar de executores auto-hospedados, você poderá usar AE hosted runners para executar seus fluxos de trabalho. Para obter mais informações, consulte "Sobre AE hosted runners".

Observação: GitHub Actions está atualmente na versão beta para GitHub AE.

About self-hosted runners

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. Self-hosted runners can be physical, virtual, in a container, on-premises, or in a cloud.

You can add self-hosted runners at various levels in the management hierarchy:

  • Repository-level runners are dedicated to a single repository.
  • Organization-level runners can process jobs for multiple repositories in an organization.
  • Enterprise-level runners can be assigned to multiple organizations in an enterprise account.

Your runner machine connects to GitHub AE 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 AE 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."

Differences between GitHub-hosted and self-hosted runners

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:

  • Receive automatic updates for the operating system, preinstalled packages and tools, and the self-hosted runner application.
  • Are managed and maintained by GitHub.
  • Provide a clean instance for every job execution.
  • Use free minutes on your GitHub plan, with per-minute rates applied after surpassing the free minutes.

Self-hosted runners:

  • Receive automatic updates for the self-hosted runner application only. You are responsible for updating the operating system and all other software.
  • Can use cloud services or local machines that you already pay for.
  • Are customizable to your hardware, operating system, software, and security requirements.
  • Don't need to have a clean instance for every job execution.
  • Are free to use with GitHub Actions, but you are responsible for the cost of maintaining your runner machines.

Requirements for self-hosted runner machines

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

  • You can install and run the self-hosted runner application on the machine. For more information, see "Supported architectures and operating systems for self-hosted runners."
  • The machine can communicate with GitHub Actions. For more information, see "Communication between self-hosted runners and GitHub."
  • The machine has enough hardware resources for the type of workflows you plan to run. The self-hosted runner application itself only requires minimal resources.
  • If you want to run workflows that use Docker container actions or service containers, you must use a Linux machine and Docker must be installed.

Usage limits

There are some limits on GitHub Actions usage when using self-hosted runners. These limits are subject to change.

  • 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.
  • Job queue time - Each job for self-hosted runners can be queued for a maximum of 24 hours. If a self-hosted runner does not start executing the job within this limit, the job is terminated and fails to complete.
  • 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.
  • Job matrix - 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.

Workflow continuity for self-hosted runners

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.

Supported architectures and operating systems for self-hosted runners

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

Linux

  • Red Hat Enterprise Linux 7 or later
  • CentOS 7 or later
  • Oracle Linux 7
  • Fedora 29 or later
  • Debian 9 or later
  • Ubuntu 16.04 or later
  • Linux Mint 18 or later
  • openSUSE 15 or later
  • SUSE Enterprise Linux (SLES) 12 SP2 or later

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 later

Architectures

The following processor architectures are supported for the self-hosted runner application.

  • x64 - Linux, macOS, Windows.
  • ARM64 - Linux only.
  • ARM32 - Linux only.

Communication between self-hosted runners and GitHub AE

The self-hosted runner polls GitHub AE to retrieve application updates and to check if any jobs are queued for processing. The self-hosted runner uses a HTTPS long poll that opens a connection to GitHub AE for 50 seconds, and if no response is received, it then times out and creates a new long poll. The application must be running on the machine to accept and run GitHub Actions jobs.

The connection between self-hosted runners and GitHub AE is over HTTP (port 80) and HTTPS (port 443).

You must ensure that the self-hosted runner has appropriate network access to communicate with the GitHub AE URL and its subdomains. For example, if your instance name is octoghae, then you will need to allow the self-hosted runner to access octoghae.githubenterprise.com, api.octoghae.githubenterprise.com, and codeload.octoghae.githubenterprise.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. For more information, see "Managing allowed IP addresses for your organization."

You must ensure that the machine has the appropriate network access to communicate with your enterprise.

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

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.