Gerenciar corredores
Nesta seção, você explorará as diferentes ferramentas e estratégias disponíveis para você no GitHub Enterprise Cloud e no GitHub Enterprise Server para gerenciar o uso de executores de ações do GitHub em sua empresa.
Escolha um corredor apropriado para a sua carga de trabalho
Dois tipos de corredores podem executar fluxos de trabalho do GitHub Actions: corredores hospedados no GitHub ou corredores auto-hospedados.
Nota
Os corredores hospedados no GitHub estão disponíveis apenas para Enterprise Cloud. Se você tiver uma instância do Enterprise Server, esta seção não se aplica a você.
Os corredores hospedados no GitHub oferecem uma maneira mais rápida e simples de executar seus fluxos de trabalho, enquanto os corredores auto-hospedados são uma maneira altamente configurável de executar fluxos de trabalho em seu próprio ambiente personalizado. Por exemplo, se você precisar usar uma lista de permissões de endereço IP para sua organização ou uma configuração de hardware especializada para executar seus fluxos de trabalho, use um corredor auto-hospedado.
A tabela a seguir compara corredores hospedados no GitHub versus corredores auto-hospedados. Use-o para escolher o corredor apropriado para sua carga de trabalho.
Corredores hospedados no GitHub | Corredores auto-hospedados |
---|---|
Receba atualizações automáticas para o sistema operacional, pacotes e ferramentas pré-instalados e o aplicativo runner auto-hospedado. | Receba atualizações automáticas apenas para o aplicativo runner auto-hospedado. Você é responsável por atualizar o sistema operacional e todos os outros softwares. |
GitHub gerenciado e mantido. | Pode usar serviços de nuvem ou máquinas locais pelas quais você já paga. Também são personalizáveis de acordo com seus requisitos de hardware, sistema operacional, software e segurança. |
Forneça uma instância limpa para cada execução de trabalho. | Não precisa ter uma instância limpa para cada execução de trabalho. |
Use minutos gratuitos em seu plano GitHub, com taxas por minuto aplicadas depois de superar os minutos livres. | O uso é gratuito com o GitHub Actions, mas você é responsável pelo custo de manutenção de suas máquinas de corredor. |
Configurar o acesso a corredores auto-hospedados
No Enterprise Cloud e no Enterprise Server, os grupos de corredores auto-hospedados permitem que você controle o acesso a corredores auto-hospedados no nível da organização e da empresa. Esse recurso pode ser útil para casos em que você precisa restringir o acesso a corredores auto-hospedados a organizações ou usuários específicos. Por exemplo, com base no nível de confiança dessas organizações ou usuários, ou para mitigar os riscos de segurança.
Digamos que você queira autorizar apenas organizações específicas em sua instância corporativa a implantar código em seu ambiente de produção. Você pode criar um grupo contendo todos os corredores que implantam código na produção em nível empresarial e restringir o acesso do grupo às organizações específicas autorizadas a implantar código.
Para criar grupos a nível empresarial, navegue até à sua conta empresarial e, em seguida, até às Ações de Políticas > na barra lateral. Na guia Grupos de corredores, selecione Novo grupo de corredores. A tela exibida permitirá que você especifique um nome de grupo e uma política de acesso para organizações.
Para criar grupos no nível da organização, navegue até Configurações da organização e, em seguida, até Ações na barra lateral. Selecione Grupos de corredores e, em seguida , Novo grupo de corredores. A tela exibida permite especificar um nome de grupo e uma política de acesso para repositórios.
Quando novos corredores são criados, eles são automaticamente atribuídos ao grupo padrão dentro da empresa ou organização. Os corredores só podem estar em um grupo de cada vez, mas tanto o Enterprise Cloud quanto o Enterprise Server oferecem a possibilidade de mover corredores do grupo padrão para outro grupo.
Configurar corredores auto-hospedados para uso corporativo
O Enterprise Cloud e o Enterprise Server oferecem vários recursos que permitem que você personalize seus corredores auto-hospedados para uso corporativo. Alguns desses recursos incluem rótulos, servidores proxy e listas de permissões de IP.
Etiquetas
Os corredores auto-hospedados recebem automaticamente rótulos padrão quando são adicionados às Ações do GitHub. Esses rótulos padrão indicam o sistema operacional e a arquitetura de hardware do corredor, conforme mostrado na tabela:
Rótulo padrão | Descrição |
---|---|
self-hosted |
Rótulo padrão aplicado a todos os corredores auto-hospedados |
linux , windows ou macOS |
Aplicado dependendo do sistema operacional do corredor. |
x64 , ARM , ou ARM64 |
Aplicado dependendo da arquitetura de hardware do corredor. |
Além desses rótulos padrão, o Enterprise Cloud e o Enterprise Server permitem que você crie e adicione rótulos personalizados aos seus corredores. As etiquetas personalizadas podem ser úteis quando você precisa executar trabalhos em corredores com recursos específicos. Por exemplo, se um trabalho em um de seus fluxos de trabalho exigir um tipo específico de hardware gráfico, você poderá criar um gpu
rótulo personalizado e atribuí-lo aos executores que têm o hardware instalado. Todos os corredores com o gpu
rótulo seriam elegíveis para executar o trabalho.
Para adicionar um rótulo a um corredor auto-hospedado, navegue até as configurações de Ações do GitHub da organização, repositório ou empresa onde seu corredor auto-hospedado está registrado (em Ações para uma organização ou repositório, em Ações de políticas > para uma empresa). Quando você estiver lá:
Localize a lista de corredores em Runners. Se o seu corredor estiver em um grupo, localize o grupo de corredores e selecione a lista suspensa de corredores para visualizar a lista de corredores.
Localize o corredor que você deseja atualizar e selecione a lista suspensa de rótulos para visualizar o menu de seleção de rótulos. Este menu exibe todas as etiquetas personalizadas disponíveis para o seu corredor auto-hospedado. Os rótulos já atribuídos ao seu corredor auto-hospedado têm um tick ao lado deles.
Selecione um rótulo existente para adicioná-lo ao seu corredor ou digite o nome do novo rótulo no campo Filtrar rótulos e selecione Criar novo rótulo. O rótulo é adicionado automaticamente ao seu corredor quando você o cria.
Servidores proxy
Se você precisar de um corredor auto-hospedado para se comunicar com o GitHub por meio de um servidor proxy, o Enterprise Cloud e o Enterprise Server permitirão que você altere as configurações de proxy usando as seguintes variáveis de ambiente:
Variável de ambiente | Descrição |
---|---|
https_proxy |
URL de proxy para tráfego HTTPS. Você também pode incluir credenciais básicas de autenticação, se necessário. Por exemplo: http://proxy.local http://192.168.1.1:8080 http://username:password@proxy.local |
http_proxy |
URL de proxy para tráfego HTTP. Você também pode incluir credenciais básicas de autenticação, se necessário. Por exemplo: http://proxy.local http://192.168.1.1:8080 http://username:password@proxy.local |
no_proxy |
Lista separada por vírgulas de hosts que não devem usar um proxy. Somente nomes de host são permitidos em no_proxy . Não é possível usar endereços IP. Por exemplo: example.com example.com,myserver.local:443,example.org |
Nota
As variáveis de ambiente proxy são lidas quando o aplicativo runner auto-hospedado é iniciado, portanto, você deve definir as variáveis de ambiente antes de configurar ou iniciar o aplicativo. Se a configuração do proxy for alterada, reinicie o aplicativo runner auto-hospedado.
No Windows, os nomes das variáveis de ambiente proxy diferenciam maiúsculas de minúsculas. No Linux e macOS, recomendamos que você use todas as variáveis de ambiente minúsculas. Se você tiver uma variável de ambiente em minúsculas e maiúsculas no Linux ou macOS (por exemplo, https_proxy
e HTTPS_PROXY
), o aplicativo runner auto-hospedado usará a variável de ambiente minúscula.
Listas de permissões de IP
Se sua organização Enterprise Cloud ou Enterprise Server configurou listas de permissões de IP, você deve adicionar o endereço IP ou o intervalo de endereços IP de seus corredores auto-hospedados à lista de permissões de IP para que seus corredores auto-hospedados se comuniquem com o GitHub.
Para adicionar o endereço IP ou o intervalo de endereços IP de seus corredores auto-hospedados a uma lista de permissões de IP da organização, navegue até Configurações da organização e selecione Segurança da organização na barra lateral. Em Endereço IP, adicione o endereço IP ou o intervalo de endereços IP de seus corredores auto-hospedados na notação CIDR e selecione + Adicionar.
Monitorar e solucionar problemas de corredores auto-hospedados
Tanto o Enterprise Cloud quanto o Enterprise Server oferecem ferramentas que permitem monitorar, solucionar problemas e atualizar seus corredores auto-hospedados. Se as compilações começarem a falhar, alguns arquivos no repositório forem bloqueados ou as execuções do fluxo de trabalho ficarem presas, a solução de problemas do executor que executa o fluxo de trabalho pode ajudar a resolver o problema.
As principais etapas que você pode tomar ao solucionar problemas de um corredor auto-hospedado são:
- Verifique o status do runner nas configurações de Ações do GitHub da organização, repositório ou empresa onde seu runner auto-hospedado está registrado (em Ações para uma organização ou repositório, em Ações de políticas > para uma empresa).
- Revise as atividades e atualizações automáticas do corredor nos
Runner_
arquivos na_diag
pasta. - Revise o status dos trabalhos que o executor executou nos
Worker_
arquivos na_diag
pasta.
De acordo com o sistema operacional do seu corredor, você pode dar passos extras como mostrado na tabela:
Mac | Windows | Linux |
---|---|---|
Verifique o serviço de aplicativo runner auto-hospedado usando launchd |
Verifique o serviço de aplicativo runner auto-hospedado usando o PowerShell | - Verifique o serviço de aplicativo runner auto-hospedado usando journalctl - Se seus trabalhos exigirem contêineres, verifique se o Docker está instalado e em execução e se as permissões do Docker estão usando systemctl |