Observação
No momento, não há suporte para executores hospedados no GitHub Enterprise Server no GitHub.
Sobre GitHub Actions em GitHub Enterprise Server
Este artigo explica como os administradores de site podem configurar GitHub Enterprise Server para usar GitHub Actions.
Por padrão, GitHub Actions não está habilitado para GitHub Enterprise Server. Você precisará determinar se sua instância tem recursos adequados de CPU e memória para lidar com a carga sem causar perda de GitHub Actions desempenho e possivelmente aumentar esses recursos. Você também deverá decidir qual provedor de armazenamento usará para o armazenamento de blobs necessário para armazenar os artefatos e os caches gerados pela execução do fluxo de trabalho. Em seguida, você habilitará GitHub Actions na sua empresa, gerenciará permissões de acesso e adicionará executores auto-hospedados para executar fluxos de trabalho.
Antes de começar, você deve fazer um plano de como apresentará GitHub Actions à sua empresa. Para saber mais, confira Apresentando GitHub Actions à sua empresa.
Se você estiver migrando sua empresa de outro provedor para GitHub Actions, haverá considerações adicionais. Para saber mais, confira Migrando sua empresa para GitHub Actions.
Revisar os requisitos de hardware
Os recursos de CPU e memória disponíveis para sua instância do GitHub Enterprise Server determinam o número de runners que podem ser configurados sem perda de desempenho. A GitHub exige um mínimo de 8 vCPU e 64 GB de memória para executar GitHub Actions.
A quantidade máxima de executores conectados sem perda de desempenho depende de fatores como duração do trabalho, uso de artefatos, número de repositórios executando ações e quantos outros trabalhos sua instância está realizando não relacionados a ações. Testes internos em GitHub demonstraram metas de desempenho para GitHub Enterprise Server em uma variedade de configurações de CPU e memória.
| vCPUs | Memória | Máximo de clientes conectados |
|---|---|---|
| 8 | 64 GB | 740 corredores |
| 32 | 160 GB | 2700 corredores |
| 96 | 384 GB | 7000 corredores |
GitHub mediu o máximo de executores usando vários repositórios, a duração do trabalho de aproximadamente dez minutos e o upload de artefato de 10 MB. Você pode ter um desempenho diferente dependendo dos níveis gerais de atividade na sua instância.
Observação
- A partir da GitHub Enterprise Server 3.6, o GitHub documenta os executores conectados em vez de trabalhos simultâneos. Os executores conectados representam o maior número de executores que você pode conectar e esperar utilizar. Também deve ser observado que conectar mais executores que o esperado pode afetar negativamente o desempenho.
GitHub Enterprise Server A partir da 3.5, GitHubo teste interno usa CPUs de 3ª geração para refletir melhor uma configuração típica do cliente. Essa alteração na CPU representa uma pequena parte das alterações nos destinos de desempenho nesta versão do GitHub Enterprise Server.
Se você planeja habilitar GitHub Actions para os usuários de uma instância existente, examine os níveis de atividade para usuários e automações na instância e verifique se você provisionou CPU e memória adequadas para seus usuários. Para obter mais informações sobre como monitorar a capacidade e o desempenho, GitHub Enterprise Serverconsulte Monitore o seu instance.
Para obter mais informações sobre os requisitos mínimos de hardware para sua instância do GitHub Enterprise Server, consulte as considerações de hardware para a plataforma da sua instância.
Para obter mais informações sobre como ajustar recursos para uma instância existente, confira Aumentar a capacidade de armazenamento e Aprimorar os recursos de CPU ou memória.
Opcionalmente, você pode limitar o consumo sua instância do GitHub Enterprise Server de recursos configurando um limite de taxa para GitHub Actions. Para saber mais, confira Como configurar limites de taxa.
Requisitos de armazenamento externo
Para habilitar GitHub Actions em GitHub Enterprise Server, você deve ter acesso ao armazenamento externo de blobs.
GitHub Actions usa o armazenamento de blobs externo para armazenar dados gerados por execuções de fluxo de trabalho. Os dados armazenados incluem logs de fluxo de trabalho, caches e artefatos de compilação carregados pelo usuário. A quantidade de armazenamento necessária depende do uso de GitHub Actions. Somente uma única configuração de armazenamento externo é compatível, e você não pode usar vários provedores de armazenamento ao mesmo tempo.
Todos os outros GitHub Actions dados, como os arquivos de fluxo de trabalho na estrutura de arquivos de um repositório, são armazenados no volume de armazenamento de dados para sua instância do GitHub Enterprise Server.
GitHub Actions dá suporte a esses provedores de armazenamento:
- Armazenamento de Blobs do Azure
- Amazon S3
- Cloud Storage do Google
- Cluster MinIO compatível com S3
Observação
Esses são os únicos provedores de armazenamento que GitHub dão suporte e podem fornecer assistência.
Há outros produtos de armazenamento compatíveis com a API do S3 que os parceiros GitHub validaram automaticamente como trabalhando com GitHub Actions em GitHub Enterprise Server. Para obter mais informações, confira o repositório Parceiros de Armazenamento GHES.
Para produtos de armazenamento validados por meio do programa de Parceria de Tecnologia do GitHub, o provedor de armazenamento é responsável pelo suporte e documentação pelo uso do produto de armazenamento com GitHub Actions.
Considerações de rede
Se GitHub Actions estiver habilitado para sua empresa, apenas os proxies HTTP são compatíveis. Não há suporte para proxies SOCKS5 e HTTPS. Para obter mais informações sobre como usar um proxy com GitHub Enterprise Server, consulte Configurando um servidor proxy Web de saída.
Ativando GitHub Actions com seu provedor de armazenamento
Siga um dos procedimentos abaixo para habilitar GitHub Actions com o provedor de armazenamento escolhido:
- Habilitando o GitHub Actions com Armazenamento de Blobs do Azure
- Habilitando GitHub Actions com armazenamento Amazon S3
- Habilitando GitHub Actions com o Google Cloud Storage
- Habilitando GitHub Actions com armazenamento MinIO
Gerenciando permissões de acesso para GitHub Actions na sua empresa
Você pode usar políticas para gerenciar o acesso a GitHub Actions. Para saber mais, confira Impor políticas para GitHub Actions em sua empresa.
Adicionar executores auto-hospedados
Observação
No momento, não há suporte para executores hospedados no GitHub Enterprise Server no GitHub.
Para executar fluxos de trabalho GitHub Actions, você precisa adicionar executores auto-hospedados. Você pode adicionar executores auto-hospedados nos níveis da empresa, organização ou repositório. Para saber mais, confira Adicionar executores auto-hospedados.
Gerenciar quais ações podem ser usadas na sua empresa
Você pode controlar quais ações os usuários têm permissão para usar na sua empresa. Isso inclui configurar GitHub Connect para acesso automático a ações de GitHub.com ou sincronizar manualmente ações de GitHub.com.
Para saber mais, confira Sobre como usar ações na sua empresa.
Reforço geral de segurança para GitHub Actions
Se você quiser saber mais sobre as práticas de segurança, GitHub Actionsconsulte Referência de uso seguro.
Nomes reservados
Quando você habilita GitHub Actions para sua empresa, duas organizações são criadas: github e actions. Se sua empresa já usa o nome da organização github, github-org será usado (ou github-github-org, se github-org também estiver em uso). Se sua empresa já usa o nome da organização actions, github-actions será usado (ou github-actions-org, se github-actions também estiver em uso). Uma vez que as ações são habilitadas, você não poderá usar mais esses nomes.