Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.
Sobre o GitHub Actions no GitHub Enterprise Server
Este artigo explica como os administradores do site podem configurar GitHub Enterprise Server para usar GitHub Actions.
Por padrão, GitHub Actions não está habilitado para GitHub Enterprise Server. Você deberá determinar se a sua instância possui recursos adequados de CPU e memória para lidar com a carga do GitHub Actions sem causar perda de 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ê irá habilitar GitHub Actions para a 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 para a sua empresa. Para obter mais informações, confira "Apresentando o GitHub Actions à sua empresa".
Se você estiver migrando sua empresa para GitHub Actions de outro provedor, há considerações adicionais. Para obter mais informações, confira "Fazendo a migração da sua empresa para o GitHub Actions".
Revisar os requisitos de hardware
Os recursos de CPU e de memória disponíveis para sua instância do GitHub Enterprise Server determinam o número de executores 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. Os testes internos no GitHub demonstraram os objetivos de desempenho para o GitHub Enterprise Server em uma série de configurações de CPU e memória.
vCPUs | Memória | Máximo de clientes conectados |
---|---|---|
8 | 64 GB | 740 executores |
32 | 160 GB | 2700 executores |
96 | 384 GB | 7000 executores |
GitHub mediu o máximo de executores conectados usando vários repositórios, duração do trabalho de aproximadamente 10 minutos e uploads de artefatos de 10 MB. Você pode ter um desempenho diferente dependendo dos níveis gerais de atividade na sua instância.
Note
- Começando com o GitHub Enterprise Server 3.6, o GitHub documenta executores conectados em oposição a 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.
- Começando com o GitHub Enterprise Server 3.5, os testes internos da GitHub usam CPUs de terceira geração para refletir melhor uma configuração típica do cliente. Essa alteração na CPU representa uma pequena parte das alterações nas metas de desempenho nesta versão do GitHub Enterprise Server.
Se você planeja habilitar GitHub Actions para os usuários de uma instância existente, revise os níveis de atividade para usuários e automações na instância e garanta que você tenha fornecido CPU e memória adequadas para seus usuários. Para obter mais informações sobre como monitorar a capacidade e o desempenho de GitHub Enterprise Server, confira "Monitorar sua instância".
Para obter mais informações sobre os requisitos mínimos de hardware de sua instância do GitHub Enterprise Server, confira as considerações sobre hardware da plataforma da 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 de recursos em sua instância do GitHub Enterprise Server ao configurar um limite de taxa para o GitHub Actions. Para obter mais informações, confira "Como configurar limites de taxa".
Requisitos de armazenamento externo
Para habilitar o GitHub Actions em GitHub Enterprise Server, você deve ter acesso ao armazenamento externo do blob.
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 que você faz do 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 dados do GitHub Actions, 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 é compatível com estes provedores de armazenamento:
- Armazenamento de Blobs do Azure
- Amazon S3
- Google Cloud Storage
- Cluster MinIO compatível com S3
Note
Esses são os únicos provedores de armazenamento aos quais o GitHub dá suporte e pode 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 saber mais sobre como usar um proxy com o GitHub Enterprise Server, confira "Configurando um servidor proxy Web de saída".
Habilitar GitHub Actions com o seu provedor de armazenamento
Siga um dos procedimentos abaixo para habilitar GitHub Actions com o seu provedor de armazenamento escolhido:
- Como habilitar o GitHub Actions com o Armazenamento de Blobs do Azure
- Como habilitar o GitHub Actions com o armazenamento do Amazon S3
- Como habilitar o GitHub Actions com o Google Cloud Storage
- Habilitar o GitHub Actions com armazenamento do MinIO
Gerenciar as permissões de acesso para GitHub Actions na sua empres
Você pode usar políticas para gerenciar o acesso a GitHub Actions. Para obter mais informações, confira "Aplicando políticas para o GitHub Actions na sua empresa".
Adicionar executores auto-hospedados
Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.
Para executar fluxos de trabalho de GitHub Actions, você deve adicionar executores auto-hospedados. Você pode adicionar executores auto-hospedados nos níveis da empresa, organização ou repositório. Para obter mais informações, 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 a configuração de GitHub Connect para acesso automático às ações de GitHub.com, ou a sincronização manual das ações de GitHub.com.
Para obter mais informações, confira "Sobre como usar ações na sua empresa".
Fortalecimento geral de segurança para GitHub Actions
Caso deseje saber mais sobre as práticas de segurança do GitHub Actions, confira "Fortalecimento de segurança para o GitHub Actions".
Nomes reservados
Quando você habilita o GitHub Actions para sua empresa, duas organizações são criadas: github
e actions
. Se a sua empresa já usar o nome da organização github
, github-org
(ou github-github-org
se github-org
também estiver em uso) será usado. Se a sua empresa já usar o nome da organização actions
, github-actions
(ou github-actions-org
se github-actions
também estiver em uso) será usado. Uma vez que as ações são habilitadas, você não poderá usar mais esses nomes.