Skip to main content

Sobre executores maiores

O GitHub oferece aos executores recursos avançados para oferecer suporte a casos de uso mais personalizados.

Quem pode usar esse recurso?

Executor maior estão disponíveis apenas para organizações e empresas usando os planos GitHub Team ou GitHub Enterprise Cloud.

Visão geral dos executores avançados

Os clientes nos planos GitHub Team e GitHub Enterprise Cloud podem escolher entre várias máquinas virtuais gerenciadas que têm mais recursos do que os executores hospedados standard GitHub-hosted runners. Essas máquinas são chamadas de "executor maior." Eles oferecem os seguintes recursos avançados:

  • Mais RAM, CPU e espaço em disco
  • Endereços IP estáticos
  • Rede privada do Azure
  • A capacidade de agrupar executores
  • Dimensionamento automático para oferecer suporte a fluxos de trabalho simultâneos
  • Executores alimentados por GPU e ARM

Esses executores avançados são hospedados pelo GitHub e têm o aplicativo executor e outras ferramentas previamente instalados.

O GitHub oferece executores avançados com os sistemas operacionais macOS, Ubuntu ou Windows, e diferentes recursos e tamanhos estão disponíveis dependendo do sistema operacional que você usa. Para obter mais informações, consulte "Recursos adicionais para executores avançados".

Sobre executores avançados para Ubuntu e Windows

Executor maiors com sistemas operacionais Ubuntu ou Windows estão configurados em sua organização ou empresa. Quando você adiciona executor maior, está definindo um tipo de máquina a partir de uma seleção de especificações de hardware e imagens de sistema operacional disponíveis. GitHub criarão várias instâncias desse executor que são escaladas verticalmente para corresponder às demandas de trabalho da sua organização, com base nos limites de dimensionamento automático definidos. Para obter mais informações, confira "Gerenciar executores maiores".

executores avançados para Ubuntu e Windows oferecem recursos de dimensionamento automático e a capacidade de atribuir aos executores endereços IP estáticos de um intervalo específico. Eles também podem ser gerenciados usando grupos de executores, o que permite controlar o acesso a executores avançados. Para obter mais informações, consulte "Recursos adicionais para executores avançados".

Sobre executores avançados macOS

Executor maiors com um sistema operacional macOS são usados atualizando o rótulo do fluxo de trabalho YAML para a imagem do executor desejada. Para executar seus fluxos de trabalho em um executor maior para macOS, atualize a chave runs-on para usar um dos rótulos do executor maior para macOS definidos pelo executor maior. Não requer configuração adicional. Para obter mais informações, confira "Como executar trabalhos em executores maiores".

Os seguintes tamanhos de máquinas estão disponíveis para executores avançados macOS.

Tamanho do executorArquiteturaProcessador (CPU)Memória (RAM)Armazenamento (SSD)Rótulo do fluxo de trabalho
grandeIntel1230 GB14 GBmacos-latest-large, macos-12-large, macos-13-large [mais recente], macos-14-large[Beta]
XLargearm64 (M1)6 (+ 8 aceleração de hardware GPU)14 GB14 GBmacos-latest-xlarge, macos-13-xlarge [mais recente], macos-14-xlarge[Beta]

Limitações para executores avançados macOS

  • Todas as ações fornecidas pelo GitHub são compatíveis com executores arm64 hospedados pelo GitHub. No entanto, as ações da comunidade podem não ser compatíveis com o arm64 e precisam ser instaladas manualmente em tempo de execução.
  • A virtualização aninhada e os Metal Performance Shaders (MPS) não são suportados devido à limitação do Virtualization Framework da Apple.
  • Os recursos de rede, como a rede privada do Azure e a atribuição de IPs estáticos, não estão disponíveis atualmente para corredores maiores do macOS.
  • Os executores macOS arm64 não têm um UUID/UDID estático atribuído a eles porque a Apple não suporta esse recurso. No entanto, os executores Intel MacOS recebem um UDID estático, especificamente 4203018E-580F-C1B5-9525-B745CECA79EB. Caso esteja criando e assinando no mesmo host no qual planeja testar a compilação, você poderá assinar com um perfil de provisionamento de desenvolvimento. Caso precise de um DID estático, você poderá usar os executores Intel e adicionar seu UDID à sua conta de desenvolvedor da Apple.

Recursos adicionais para executores avançados

Em comparação com os executores hospedados do GitHub padrão, os executores avançados têm recursos adicionais e sua disponibilidade varia de acordo com o sistema operacional do executor maior.

UbuntuWindowsmacOS
Endereços IP estáticos
Redes privadas do Azure
Dimensionamento automático
Grupos de filtros

Esses recursos podem aprimorar seus pipelines de CI/CD das seguintes maneiras.

  • Atribuir endereços IP estáticos de executores avançados a partir de um intervalo específico permite que você use esse intervalo para configurar uma lista de permissões de firewall. Para obter mais informações, consulte "Sistema de rede para executores avançados".
  • O dimensionamento automático permite que executores avançados sejam dimensionados até um limite máximo definido por você, para que seus fluxos de trabalho possam ser executados simultaneamente. Para obter mais informações, confira "Dimensionamento automático de executores avançados".
  • Os grupos de executores permitem controlar o acesso a executores avançados para suas organizações, repositórios e fluxos de trabalho. Para obter mais informações, confira "Como controlar o acesso a executores maiores".

Imagens do executor

Os Executor maiors são executados em máquinas virtuais (VMs), e o GitHub instala um disco rígido virtual (VHD) nessa máquina durante o processo de criação da VM. Você pode escolher entre diferentes imagens de VM para instalar em seus executores.

GitHub-owned images: essas imagens são mantidas pelo GitHub e estão disponíveis para corredores Linux x64, Windows x64 e macOS (x64 e arm). Para mais informações sobre essas imagens e para obter uma lista completa das ferramentas incluídas para cada sistema operacional executor, confira o repositório Imagens do executor GitHub Actions.

Imagens de parceiros: as imagens de parceiros não são gerenciadas pelo GitHub e são extraídas do Azure Marketplace. Para mais informações sobre a imagem da área de trabalho do Windows 11, consulte Área de trabalho do Microsoft Windows 11. Para mais informações sobre as imagens compatíveis com o executor de GPU, consulte VMI otimizada por GPU NVIDIA e Máquina Virtual de Ciência de Dados – Windows 2019. Para obter mais informações sobre as imagens para executores com ARM, consulte o actions/partner-runner-images repositório. Este também é o lugar para fornecer feedback ou relatar problemas sobre imagens de terceiros.

Noções básicas sobre cobrança

Observação: Executor maiors não são qualificados para o uso de minutos incluídos em repositórios privados. Para repositórios públicos e privados, quando executores avançados estiverem em uso, eles sempre serão cobrados com a taxa por minuto.

Em comparação com os executores hospedados GitHub padrão, os executores avançados são cobrados de maneira diferente. Executor maior são cobrados somente pela taxa por minuto do tempo em que os fluxos de trabalho são executados neles. Não há nenhum custo associado à criação de um executor maior que não está sendo usado pelo fluxo de trabalho. Para obter mais informações, confira "Sobre a cobrança das GitHub Actions".

Tamanhos de computador para executores avançados

Você pode escolher entre várias especificações para executores avançados.

Especificações para executores avançados gerais

Observação: atualmente, os executores arm64 estão em versão beta pública e sujeitas a alterações.

CPUMemória (RAM)Armazenamento (SSD)ArquiteturaOS (sistema operacional)
614 GB14 GBarm64macOS
1230 GB14 GBx64macOS
28 GB75 GBX64, ARM64Ubuntu
416 GB150 GBX64, ARM64Ubuntu, Windows
832 GB300 GBX64, ARM64Ubuntu, Windows
1664 GB600 GBX64, ARM64Ubuntu, Windows
32128 GB1.200 GBX64, ARM64Ubuntu, Windows
64208 GB2.040 GBarm64Ubuntu, Windows
64256 GB2.040 GBx64Ubuntu, Windows

Note

O executor de 4 vCPUs do Windows só funciona com a imagem da área de trabalho do Windows 11.

Especificações para executores avançados de GPU

Observação: atualmente, os executores de GPU estão em versão beta pública e sujeitas a alterações.

CPUGPUPlaca de GPUMemória (RAM)Memória da GPU (VRAM)Armazenamento (SSD)OS (sistema operacional)
41Tesla T428 GB16 GB176 GBUbuntu, Windows

Sobre os grupos de executores

Observação: somente executores avançados com sistemas operacionais Linux ou Windows podem ser atribuídos a grupos de executores.

Grupos de executores permitem que os administradores controlem o acesso aos executores nos níveis da organização e da empresa. Com grupos de executores, você pode coletar conjuntos de executores e criar um limite de segurança ao redor deles. Em seguida, você pode decidir quais organizações ou repositórios têm permissão para executar trabalhos nesses conjuntos de computadores. Durante o processo de implantação de executor maior, o executor pode ser adicionado a um grupo existente ou, caso contrário, ele ingressará em um grupo padrão. Você pode criar um grupo seguindo as etapas em "Como controlar o acesso a executores maiores".

Visão geral de arquitetura de executores avançados

Observação: este diagrama de arquitetura só se aplica a executores avançados com sistemas operacionais Linux ou Windows.

Os Executor maiors são gerenciados no nível da organização, em que são organizados em grupos que podem conter várias instâncias do executor. Eles também podem ser criados no nível da empresa e compartilhados com as organizações na hierarquia. Depois de criar um grupo, você pode adicionar um executor ao grupo e atualizar seus fluxos de trabalho para direcionar o nome do grupo ou o rótulo atribuído a executor maior. Você também pode controlar quais repositórios têm permissão para enviar trabalhos ao grupo para processamento. Para obter mais informações sobre grupos, confira "Como controlar o acesso a executores maiores".

No diagrama a seguir, uma classe de executor hospedado nomeado ubuntu-20.04-16core foi definida com configuração personalizada de hardware e sistema operacional.

Diagrama que mostra um executor maior sendo usado por um fluxo de trabalho devido ao rótulo do executor.

  1. As instâncias desse executor são criadas e adicionadas automaticamente a um grupo chamado grp-ubuntu-20.04-16core.
  2. Os executores receberam o rótulo ubuntu-20.04-16core.
  3. Trabalhos de fluxo de trabalho usam o rótulo ubuntu-20.04-16core na chave runs-on deles para indicar o tipo de executor necessário para executar o trabalho.
  4. GitHub Actions verifica o grupo de executores para ver se o seu repositório está autorizado a enviar trabalhos ao executor.
  5. O trabalho é executado na próxima instância disponível do executor ubuntu-20.04-16core.

Autoscaling executores avançados

Observação: o dimensionamento automático só está disponível para executores avançados com sistemas operacionais Linux ou Windows.

Os Executor maiors podem ser dimensionados a fim de atender às suas necessidades. Você pode provisionar computadores para executar um número máximo especificado de trabalhos quando os trabalhos são enviados para processamento. Cada computador gerencia apenas um trabalho por vez, portanto, essas configurações determinam efetivamente o número de trabalhos que podem ser executados simultaneamente.

Você pode configurar a simultaneidade máxima do trabalho, que permite controlar seus custos definindo o número máximo paralelo de trabalhos que podem ser executados usando esse conjunto. Um valor mais alto aqui pode ajudar a evitar que os fluxos de trabalho sejam bloqueados devido ao paralelismo. Para obter mais informações sobre como definir limites, consulte "Gerenciar executores maiores". Para obter mais informações sobre os limites máximos de escalonamento automático para executores hospedados no GitHub, consulte "Limites de uso, cobrança e administração".

Sistema de rede para executores avançados

Observações:

  • A atribuição de endereços IP estáticos a executores está disponível apenas para executores avançados com sistemas operacionais Linux ou Windows.
  • A rede privada para executores hospedados pela GitHub não oferece suporte para endereços IP estáticos para executores avançados. Para obter mais informações sobre rede privada para executores hospedados pela GitHub, consulte "Sobre a rede privada do Azure para executores hospedados no GitHub em sua empresa".

Por padrão, executores avançados recebem um endereço IP dinâmico que muda para cada trabalho executado. Opcionalmente, os clientes do GitHub Enterprise Cloud podem configurar seus executor maior para receber endereços IP estáticos do pool de endereços IP do GitHub. Para obter mais informações, confira "Sobre os endereços IP do GitHub".

Quando habilitadas, as instâncias de executor maior receberão um endereço de intervalos específicos que são exclusivos para o executor, permitindo que você use esses intervalos para configurar uma lista de permissões de firewall. Você pode usar até 10 executores avançados com intervalos de endereços IP estáticos para os executores avançados criados no nível da empresa. Além disso, você pode usar até 10 executores avançados com intervalos de endereços IP estáticos para os executores avançados criados no nível da organização, para cada organização na empresa. Para obter mais informações, confira "Gerenciar executores maiores".

Para usar mais de 10 executores maiores com intervalos de endereços IP estáticos, entre em contato com conosco por meio do Portal de suporte do GitHub.

Observação: se os executores não forem usados por mais de 30 dias, os intervalos de endereços IP deles serão removidos automaticamente e não poderão ser recuperados.