Skip to main content

Sobre executores maiores

O GitHub oferece executores com mais RAM, CPU e espaço em disco.

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

Além dos executores hospedados GitHub padrão, o GitHub oferece aos clientes de planos GitHub Team e GitHub Enterprise Cloud um intervalo de máquinas virtuais gerenciadas com mais RAM, CPU e espaço em disco. 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 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 de fluxo de trabalho YAML
grandeIntel1230 GB14 GBmacos-latest-large, macos-12-large, macos-13-large [mais recente], macos-14-large[Beta]
XLargearm64 (M1)6 CPU e 8 GPU14 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. Para obter mais informações, confira "Como executar trabalhos em executores maiores".
  • Devido a uma limitação da estrutura de virtualização da Apple, que nosso hipervisor usa, a virtualização aninhada não é compatível com os executores arm64.

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.

Sistema operacionalUbuntuWindowsmacOS
Aceleração de hardware para ferramentas do Android SDK
Endereços IP estáticos
Dimensionamento automático
Grupos de filtros

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

  • A aceleração de hardware para as ferramentas do Android SDK torna a execução de testes do Android muito mais rápida e consome menos minutos. Para obter mais informações sobre a aceleração de hardware do Android, confira Configurar a aceleração de hardware para o Android Emulator na documentação Desenvolvedores do Android.
  • 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".

Para obter uma lista completa das ferramentas incluídas para cada sistema operacional executor, confira o repositório Imagens do executor GitHub Actions.

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

Processador (CPU)Memória (RAM)Armazenamento (SSD)OS (sistema operacional)
614 GB14 GBmacOS
1230 GB14 GBmacOS
416 GB150 GBUbuntu
832 GB300 GBUbuntu, Windows
1664 GB600 GBUbuntu, Windows
32128 GB1.200 GBUbuntu, Windows
64256 GB2.040 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, confira "Gerenciar executores maiores".

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 o uso de executores hospedados no GitHub em sua Rede Virtual do Azure".

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 no total em todos os executores avançados. 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.