Provisionar um grupo de executores no GitHub Actions
Depois de aprender as noções básicas do GitHub Actions, você poderá começar não só a automatizar tarefas individuais, como também a abrir caminhos que ajudarão os desenvolvedores a trabalhar com mais segurança e eficiência. Uma maneira de fazer isso é com grupos de executores, que permitem especificar quais repositórios e fluxos de trabalho podem acessar determinados executores. À medida que exploramos como você pode usar grupos de executores para melhorar o gerenciamento, a padronização e a escalabilidade do seu GitHub Actions, o Stack Overflow compartilhará como usa grupos de executores para “definir e esquecer”.
Neste guia, você aprenderá:
Como grupos de executores (runner groups) funcionam no GitHub Actions.
Quais benefícios os grupos de executores (runner groups) oferecem.
Como os grupos de executores (runner groups) podem ser usados para criar um caminho trilhado para desenvolvedores.
O que são grupos de executores (runner groups)?
Proprietários de organizações e corporações podem usar os grupos de executores (runner groups) para controlar o acesso a executores auto-hospedados e executores hospedados pelo GitHub nos níveis de organização e/ou corporação. Os grupos de executores (runner groups) coletam conjuntos de executores e criam um limite de segurança em volta deles, permitindo que você decida quais organizações ou repositórios têm permissão para executar trabalhos naqueles conjuntos de máquinas. As políticas então controlam quais repositórios em uma organização têm acesso a quais grupos de executores (runner groups).
Ao conceder acesso a um grupo de executores (runner group), é possível visualizar o grupo de executores (runner group) listado nas configurações do executor da organização. Opcionalmente, você pode atribuir políticas de acesso de fluxo de trabalho e repositório granulares adicionais a grupos de executores (runner groups). Executores recém-criados são atribuídos automaticamente ao grupo padrão, a menos que seja especificado de outra forma. Os executores só podem estar em um grupo por vez, mas é possível mover os executores de um grupo para outro com facilidade.
Granularidade de acesso do grupo de executores (runner group)
No GitHub Enterprise, os grupos de executores (runner groups) podem ser criados no nível de corporação ou organização. Dependendo de qual você escolher, o acesso pode ser ainda mais refinado de acordo com a organização, repositório e fluxo de trabalho. As configurações adicionais permitem até mesmo restrições baseadas em branches, tags ou SHAs, garantindo que a infraestrutura seja eficiente e esteja alinhada às estratégias de governança.
Quais benefícios os grupos de executores (runner groups) oferecem?
Os grupos de executores (runner groups) no GitHub Actions oferecem diversos benefícios para gerenciar e organizar os executores:
Organização e gerenciamento: grupos de executores (runner groups) são usados como uma forma de organizar executores auto-hospedados e executores hospedados pelo GitHub em um repositório, organização ou corporação. Isso ajuda a gerenciar e segmentar executores baseados em diferentes requisitos de projeto ou níveis de acesso.
Segmentação de fluxo de trabalho: é possível controlar com maior eficiência onde os fluxos de trabalho são executados ao especificar grupos de executores (runner groups) específicos no arquivo de fluxo de trabalho. Controle de acesso: grupos de executores (runner groups) podem ser usados para gerenciar controle de acesso. É possível especificar quais repositórios podem usar um grupo de executores (runner group), proporcionando uma camada adicional de segurança e controle.
Paralelismo e distribuição de carga: ao agrupar executores, é possível distribuir a carga entre várias máquinas, potencialmente acelerando a compilação do projeto e os processos de teste.
Isolação de ambiente: se os fluxos de trabalho exigem ambientes diferentes, agrupar executores que fornecem esses ambientes pode simplificar a configuração de fluxo de trabalho.
Os grupos de executores do Actions são uma forma de 'configurar e esquecer,' e permitem que sua equipe se concentre em outras tarefas de alta prioridade. Os grupos de executores facilitaram substancialmente as complexidades do gerenciamento de acesso aos executores e oferecem a flexibilidade de realocar recursos conforme as necessidades do seu projeto evoluem. Eles permitem que você defina quais usuários, repositórios e projetos têm acesso a executores em contextos de rede especializados, como diferentes locatários do Azure.
Uso de grupos de executores (runner groups) para criar caminhos trilhados
O uso de grupos de executores (runner groups) pode facilitar o uso do GitHub Actions e torná-lo mais confiável, fornecendo uma experiência mais agradável para os desenvolvedores. Os grupos de executores (runner groups) no GitHub Actions podem proporcionar um "caminho trilhado" para desenvolvedores de várias formas:
Padronização: ao configurar grupos de executores (runner groups) específicos para diferentes tipos de fluxos de trabalho (por exemplo, com base na linguagem ou plataforma), é possível garantir que todos os fluxos de trabalho de um determinado tipo usem o mesmo ambiente. Isso reduz a probabilidade de problemas como "isso funciona na minha máquina".
Segurança: grupos de executores (runner groups) podem ser restritos a repositórios específicos, impedindo o acesso não autorizado a executores auto-hospedados. Isso pode ser extremamente importante se os executores têm acesso a recursos confidenciais.
Eficiência: se você tem cargas de trabalho que exigem recursos específicos, criar um grupo de executores (runner group) com o hardware ou software necessário pode garantir que esses fluxos de trabalho sempre tenham acesso aos recursos necessários.
Simplicidade: os desenvolvedores só precisam especificar o grupo de executores (runner group) no arquivo de fluxo de trabalho, e o executor apropriado será utilizado. Eles não precisam se preocupar com os detalhes da configuração do executor.
Escalabilidade: os grupos de executores (runner groups) podem ser escalados ao adicionar mais executores ao grupo, permitindo que você lide com cargas de trabalho cada vez maiores sem alterar os arquivos de fluxo de trabalho.
Os grupos de executores (runner groups) são uma parte fundamental das ferramentas de automação do GitHub. A habilidade de otimizar a alocação de recursos garante uma escalabilidade tranquila e segura em todos os repositórios. Combinada com fluxos de trabalho reutilizáveis (reusable workflows), que abordaremos em seguida, você estará no caminho certo para criar um caminho trilhado para aumentar a segurança, o controle de recursos e a eficiência de desenvolvedores.
A seguir: Crie fluxos de trabalho reutilizáveis (reusable workflows) em GitHub Actions
O nosso próximo guia se aprofunda em fluxos de trabalho reutilizáveis (reusable workflows), ensinando você a padronizar processos, evitar redundância e alcançar o máximo de eficiência em todos os projetos.