Pré-requisitos
- Você deve ter um GitHub Enterprise arquivo de licença. Para saber mais, confira Configurando uma avaliação do GitHub Enterprise Server e Arquivos de licença do GitHub Enterprise Server.
- Você deve ter Windows Server 2008 a Windows Server 2022, que dá suporte a Hyper-V.
- A maioria das ações necessárias para criar sua VM (máquina virtual) também pode ser executada usando o Hyper-V Manager. No entanto, é recomendável usar o shell de linha de comando Windows PowerShell para a configuração inicial. Veja abaixo alguns exemplos com o PowerShell. Para obter mais informações, consulte o guia da Microsoft Getting Started with Windows PowerShell.
Considerações sobre hardware
Requisitos mínimos recomendados
Recomendamos diferentes configurações de hardware, dependendo do número de licenças de usuário do sua instância do GitHub Enterprise Server. Se você fornecer mais recursos do que os requisitos mínimos recomendados, sua instância terá um desempenho e uma escala melhores.
| Licenças de usuário | vCPUs x86-64 | Memória | Armazenamento raiz | Armazenamento (de dados) anexado | IOPS |
|---|---|---|---|---|---|
| Teste, demonstração ou 10 usuários leves | 4 | 32 GB | 400 GB | 500 GB | 600 |
| Até 1.000 | 8 | 48 GB | 400 GB | 500 GB | 3000 |
| 1.000 a 3.000 | 16 | 64 GB | 400 GB | 1000 GB | 6000 |
| 3.000 a 5.000 | 32 | 128 GB | 400 GB | 1500 GB | 9000 |
| 5.000 a 8.000 | 48 | 256 GB | 400 GB | 3000 GB | 12000 |
| 8000-10000+ | 64 | 512 GB | 400 GB | 5000 GB | 15000 |
Se você pretende habilitar o GitHub Actions ou o GitHub Advanced Security para os usuários da sua instância, mais recursos são necessários.
- GitHub Actions – aumentar a CPU e a memória em pelo menos 25%
- GitHub Advanced Security – aumentar a CPU e a memória em pelo menos 25%
Esses ajustes devem ser aplicados aos requisitos básicos de cada nível de usuário. Recomendamos monitorar todas as alterações em seus recursos, pois podem ser necessários aumentos adicionais.
Para obter mais informações sobre esses requisitos, confira Introdução ao GitHub Actions do GitHub Enterprise Server.
Se você pretende habilitar Container registry para os usuários da sua instância, são necessários mais recursos. Para obter mais informações sobre esses requisitos, confira Introdução aos pacotes de GitHub para sua empresa.
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.
Armazenamento
Recomendamos um SSD de alto desempenho com operações de alta entrada/saída por segundo (IOPS) e baixa latência para GitHub Enterprise Server. Cargas de trabalho são intensivas em I/O. Se você usar um hipervisor de metal simples, recomendamos anexar diretamente o disco ou usar um disco a partir de uma rede de área de armazenamento (SAN).
A sua instância exige um disco de dados persistente separado do disco raiz. Para saber mais, confira Visão geral do sistema.
Aviso
O armazenamento raiz refere-se ao tamanho total do disco raiz da instância. Quando a instância for inicializada, você verá 200 GB disponíveis no sistema de arquivos raiz. Os 200 GB restantes serão reservados para atualizações. Para saber mais, confira Visão geral do sistema.
Para configurar o GitHub Actions, você precisa fornecer um armazenamento de blobs externo. Para saber mais, confira Introdução ao GitHub Actions do GitHub Enterprise Server.
O espaço disponível no sistema de arquivos raiz será 50% do tamanho total do disco. Você pode redimensionar o disco raiz da sua instância criando uma nova instância ou usando uma instância existente. Para saber mais, confira Visão geral do sistema e Aumentar a capacidade de armazenamento.
CPU e memória
Os recursos de CPU e memória que GitHub Enterprise Server exige dependem dos níveis de atividade para usuários, automações e integrações.
Todas as VMs provisionados para sua instância do GitHub Enterprise Server devem usar a arquitetura de CPU x86-64. Não há suporte para outras arquiteturas, como Aarch64 ou ARM64.
Se você pretende habilitar o GitHub Actions para os usuários da sua instância do GitHub Enterprise Server, talvez seja necessário provisionar recursos adicionais de CPU e memória para a instância. Para saber mais, confira Introdução ao GitHub Actions do GitHub Enterprise Server.
Quando você aumenta os recursos da CPU, a GitHub recomenda adicionar pelo menos 6.5 GB de memória para cada vCPU (até 16 vCPUs) que você fornecer para a instância. Ao usar mais de 16 vCPUs, você não precisa adicionar 6.5 GB de memória para cada vCPU, mas você deve monitorar sua instância para garantir que ela tenha memória suficiente.
Aviso
Recomendamos que os usuários configurem eventos de webhook para notificar os sistemas externos da atividade no GitHub Enterprise Server. As verificações automatizadas de alterações, ou sondagem, afetarão negativamente o desempenho e a escalabilidade da instância. Para saber mais, confira Sobre webhooks.
Para obter mais informações sobre como monitorar a capacidade e o desempenho de GitHub Enterprise Server, confira Monitore o seu instance.
Você pode aumentar os recursos de memória ou da CPU na sua instância. Para saber mais, confira Aprimorar os recursos de CPU ou memória.
Deveria usar o VMotion?
O VMotion pode ser excepcionalmente útil para o gerenciamento geral de recursos, no entanto, o impacto na instância de convidado pode ser significativo. Com instâncias maiores do GitHub Enterprise Server (8 CPUs/64 GB de RAM e superior), um evento do VMotion pode resultar em uma interrupção completa do GitHub Enterprise Server para os usuários finais como resultado de uma redução significativa da CPU, da RAM e da IOPS de armazenamento. Com isso em mente, o GitHub Enterprise Server deve ser considerado um aplicativo "altamente sensível à latência".
Para implantações maiores no VMWare que têm o Distributed Resource Scheduler (DRS) habilitado, recomendamos configurar uma regra de afinidade de Máquina Virtual para Host para o seu GitHub Enterprise Server, a fim de manter o dispositivo virtual em um único host. Se uma migração com o VMotion for necessária, recomendamos considerá-la como uma "interrupção planejada" e colocar o GitHub Enterprise Server no modo de manutenção até que a migração seja concluída.
Também recomendamos que a Configuração de Gerenciamento de Energia do ESXi seja configurada para "High Performance". Já vimos casos em que o desempenho geral do sistema pode ser afetado negativamente se ela for deixada como "Balanced".
Baixar a imagem do GitHub Enterprise Server
-
Baixe sua licença. Para saber mais, confira Baixando sua licença para GitHub Enterprise.
-
Navegue até a imagem que você deseja usar em sua nova instância.
- Navegue até Notas sobre a versão.
- Na barra lateral à direita, clique na versão que você deseja baixar.
- Clique em Baixar GitHub Enterprise Server X.X.X.
-
Em "GitHub local", selecione o menu suspenso "Selecionar seu hipervisor" e clique em Hyper-V (VHD) .
-
Clique em Download para Hyper-V (VHD).
Criar a instância do GitHub Enterprise Server
Para criar a instância, você precisará importar a imagem GitHub Enterprise Server para sua máquina virtual e anexar um volume de armazenamento adicional para os dados de sua instância. Para obter mais informações, confira Considerações sobre hardware.
-
No PowerShell, crie uma máquina virtual Generation 1, configure o tamanho com base na contagem de licenças de usuário e anexe a imagem do GitHub Enterprise Server que você baixou. Para obter mais informações, confira New-VM na documentação da Microsoft.
PS C:\> New-VM -Generation 1 -Name VM_NAME -MemoryStartupBytes MEMORY_SIZE -BootDevice VHD -VHDPath PATH_TO_VHD -
Crie um novo disco virtual para usar como um volume de armazenamento conectado para os dados da sua instância e configure o tamanho com base na contagem de licenças do usuário. Se reutilizar um disco existente, confirme se o disco está vazio e se não há partições. Substitua
PATH_TO_DATA_DISKpelo caminho até o local em que você criará o disco. Para obter mais informações, confira New-VHD na documentação da Microsoft.PS C:\> New-VHD -Path PATH_TO_DATA_DISK -SizeBytes DISK_SIZE -
Vincule o disco de dados à sua instância. Para obter mais informações, confira Add-VMHardDiskDrive na documentação da Microsoft.
PS C:\> Add-VMHardDiskDrive -VMName VM_NAME -Path PATH_TO_DATA_DISK -
Inicie a VM. Para obter mais informações, confira Start-VM na documentação da Microsoft.
PS C:\> Start-VM -Name VM_NAME -
Obtenha o endereço IP da sua VM. Para obter mais informações, confira Get-VMNetworkAdapter na documentação da Microsoft.
PS C:\> (Get-VMNetworkAdapter -VMName VM_NAME).IpAddresses -
Copie o endereço IP da VM e cole em um navegador da web.
Configurando a instância do GitHub Enterprise Server
Para configurar a instância, você precisa carregar um arquivo de licença, definir a senha raiz do Console de Gerenciamento, definir as configurações da instância e reiniciar a instância.
Aviso
Para impedir que um invasor comprometa a nova instância, defina pessoalmente a senha Console de Gerenciamento raiz e crie o primeiro usuário o mais rápido possível.
- Copie o nome DNS público da máquina virtual e cole-o em um navegador.
- No prompt, carregue seu arquivo de licença e defina uma senha de gerenciamento do console. Para saber mais, confira Baixando sua licença para GitHub Enterprise.
- No Console de Gerenciamento, defina e salve as configurações desejadas. Para obter mais informações, consulte Configurando GitHub Enterprise.
- A instância será reiniciada automaticamente.
- Clique em Acessar sua instância.