Pré-requisitos
- Você deve ter um GitHub Enterprise arquivo de licença. Para baixar um arquivo de licença existente ou solicitar uma licença de teste, visite enterprise.github.com. Para obter mais informações, consulte "Managing your GitHub Enterprise license."
- É preciso ter uma conta do Google Cloud Platform que possa iniciar instâncias de máquina virtual (VM) do Google Compute Engine (GCE). Para obter mais informações, consulte o site do Google Cloud Platform e a documentação do Google Cloud Platform.
- A maioria das ações necessárias para iniciar sua instância também pode ser executada usando o Google Cloud Platform Console. No entanto, é recomendável instalar a ferramenta de linha de comando gcloud compute para a configuração inicial. Veja abaixo alguns exemplos de uso da ferramenta de linha de comando gcloud compute. Para obter mais informações, consulte o guia de instalação e configuração do "gcloud compute" na documentação do Google.
Considerações de hardware
GitHub Enterprise Server requer um disco de dados persistente separado do disco raiz. Para obter mais informações, consulte "System overview." Recomendamos diferentes configurações de hardware com base no número de licenças de usuário usadas em sua instância do GitHub Enterprise Server. |
Licenças de usuário | vCPUs | Memória | Armazenamento anexado | Armazenamento raiz |
---|---|---|---|---|
Teste, demonstração ou 10 usuários leves | 2 | 16 GB | 100 GB | 200 GB |
10-3000 | 4 | 32 GB | 250 GB | 200 GB |
3000-5000 | 8 | 64 GB | 500 GB | 200 GB |
5000-8000 | 12 | 96 GB | 750 GB | 200 GB |
8000-10000+ | 16 | 128 GB | 1000 GB | 200 GB |
Essas são as recomendações mínimas. Podem ser necessários mais recursos, dependendo do seu uso, como atividade do usuário e integrações selecionadas. Ao aumentar os recursos da CPU, é recomendado adicionar pelo menos 6.5 GB de memória para cada CPU (até 16 CPUs) adicionado à sua instância do GitHub Enterprise Server. Para obter mais informações, consulte "Increasing CPU or memory resources."
Nota: O disco raiz pode ser redimensionado construindo um novo appliance ou usando um appliance existente. Para obter mais informações, consulte "Increasing storage capacity."
Aviso: Recomendamos que você use webhooks para buscar alterações de repositório para integração contínua (CI) ou sistemas similares. Verificações automáticas regulares, ou polling, reduzirão significativamente a escalabilidade de sua instância. Para obter mais informações, consulte "Sobre webhooks"
Determinar o tipo de máquina
Antes de iniciar a sua instância do GitHub Enterprise Server no Google Cloud Platform, você terá que determinar o tipo de máquina virtual que melhor se adapta às demandas da sua organização.
Tipos de máquina compatíveis
O GitHub Enterprise Server é compatível nos seguintes tipos de máquina do Google Compute Engine (GCE). Para obter mais informações, consulte o artigo sobre tipos de máquina do Google Cloud Platform. |
| | Memória alta | | | ------------- | | | n1-highmem-4 | | | n1-highmem-8 | | | n1-highmem-16 | | | n1-highmem-32 | | | n1-highmem-64 | | | n1-highmem-96 |
Tipos de máquina recomendados
Com base na contagem de licenças de usuário, recomendamos os seguintes tipos de máquina.
Estações | Tipo recomendado |
---|---|
Teste, demonstração ou 10 usuários leves | n1-standard-4 |
10 - 3000 | n1-standard-8 |
3000 - 5000 | n1-highmem-8 |
5000 - 8000 | n1-highmem-16 |
8000 - 10000+ | n1-highmem-32 |
Nota: Você sempre pode ajustar sua CPU ou memória redimensionando sua instância. No entanto, como o redimensionamento da sua CPU ou memória requer tempo de inatividade para os usuários, recomendamos o fornecimento excessivo de recursos para contas em escala.
Selecionar a imagem do GitHub Enterprise Server
-
Usando a ferramenta de linha de comando gcloud compute, liste as imagens públicas do GitHub Enterprise Server:
$ gcloud compute images list --project github-enterprise-public --no-standard-images
-
Anote o nome da imagem GCE mais recente do GitHub Enterprise Server.
Configurar o firewall
Máquinas virtuais GCE são criadas como integrantes de uma rede que tem um firewall. Na rede associada à VM do GitHub Enterprise Server, você terá que configurar o firewall para permitir as portas necessárias da tabela abaixo. Para obter mais informações sobre as regras de firewall no Google Cloud Platform, consulte o guia "Visão geral das regras de firewall" do Google.
-
Usando a ferramenta de linha de comando gcloud compute, crie a rede. Para obter mais informações, consulte "criar redes com gcloud compute" na documentação do Google.
$ gcloud compute networks create NETWORK-NAME --subnet-mode auto
-
Crie uma regra de firewall para cada porta da tabela abaixo. Para obter mais informações, consulte "regras de firewall do gcloud compute" na documentação do Google.
$ gcloud compute firewall-rules create RULE-NAME \ --network NETWORK-NAME \ --allow tcp:22,tcp:25,tcp:80,tcp:122,udp:161,tcp:443,udp:1194,tcp:8080,tcp:8443,tcp:9418,icmp
Esta tabela identifica as portas necessárias e o uso de cada uma delas.
Porta Serviço Descrição 22 SSH Git sobre acesso via SSH. Clone, buscar e fazer push de operações para repositórios público/privado suportados. 25 SMTP Suporte a SMTP com criptografia (STARTTLS). 80 HTTP Acesso ao aplicativo web. Todas as solicitações são redirecionadas para a porta HTTPS quando o SSL estiver habilitado. 122 SSH Exemplo de acesso a shell. A porta SSH padrão (22) é dedicada ao tráfego de rede git+ssh. 161/UDP SNMP Obrigatória para operações de protocolo de monitoramento de rede. 443 HTTPS Aplicativo web e Git sobre acesso HTTPS. 1194/UDP VPN Túnel de rede de réplica segura na configuração de alta disponibilidade. 8080 HTTP Baseado em web de texto simples Console de gerenciamento. Não é necessário, a menos que o SSL seja desativado manualmente. 8443 HTTPS Base segura na web Console de gerenciamento. Necessário para instalação básica e configuração. 9418 Git Porta de protocolo Simples Git. Clonar e buscar somente as operações para repositórios públicos. Comunicação sem criptografia de rede.
Alocar uma IP estática e associá-la com a VM
Se você estiver trabalhando com um appliance de produção, é altamente recomendável reservar um endereço IP externo estático e atribuí-lo à VM do GitHub Enterprise Server. Caso contrário, o endereço IP público da VM não será retido após a reinicialização. Para obter mais informações, consulte o guia "Reservar um endereço IP externo estático" do Google.
Nas configurações de alta disponibilidade de produção, os appliances primário e réplica devem receber endereços IP estáticos separados.
Criar a instância do GitHub Enterprise Server
Para criar a instância do GitHub Enterprise Server, você deve criar uma instância do GCE com a imagem do GitHub Enterprise Server e vincular um volume de armazenamento adicional aos dados da sua instância. Para obter mais informações, consulte "Considerações de hardware".
-
Usando a ferramenta de linha de comando gcloud compute, crie um disco de dados para usar como volume de armazenamento para os dados da sua instância e configure o tamanho com base na contagem de licenças de usuário. Para obter mais informações, consulte "criar discos no gcloud compute" na documentação do Google.
$ gcloud compute disks create DATA-DISK-NAME --size DATA-DISK-SIZE --type DATA-DISK-TYPE --zone ZONE
-
Em seguida, crie uma instância usando o nome da imagem selecionada do GitHub Enterprise Server e vincule o disco de dados. Para obter mais informações, consulte "criar instâncias no gcloud compute" na documentação do Google.
$ gcloud compute instances create INSTANCE-NAME \ --machine-type n1-standard-8 \ --image GITHUB-ENTERPRISE-IMAGE-NAME \ --disk name=DATA-DISK-NAME \ --metadata serial-port-enable=1 \ --zone ZONE \ --network NETWORK-NAME \ --image-project github-enterprise-public
Configurar a instância
- 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 obter mais informações, consulte "Managing your GitHub Enterprise license."
- No Console de gerenciamento, configure e salve as configurações desejadas. Para obter mais informações, consulte "Configurar o appliance do GitHub Enterprise Server".
- A instância será reiniciada automaticamente.
- Clique Visit your instance (Visite sua instância).