Versão do artigo: Enterprise Server 2.17
Instalar o GitHub Enterprise Server no Google Cloud Platform
Para instalar o GitHub Enterprise Server no Google Cloud Platform, você deve fazer a implantação em um tipo de máquina compatível e usar um disco padrão persistente ou SSD persistente.
Pré-requisitos
- You must have a GitHub Enterprise license file. To download an existing license file or request a trial license, visit enterprise.github.com. For more information, see "Managing your GitHub Enterprise Server 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 requires a persistent data disk separate from the root disk. For more information, see "System overview." We recommend different hardware configurations based on the number of user licenses used in sua instância do GitHub Enterprise Server. |
User licenses | vCPUs | Memória | Attached storage | Root storage |
---|---|---|---|---|
Trial, demo, or 10 light users | 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 básicas de hardware. Podem ser necessários mais recursos dependendo do uso, como atividade do usuário e integrações selecionadas. When increasing CPU resources, it's recommended to add at least 6.5 GB of memory for each CPU (up to 16 CPUs) added to your GitHub Enterprise Server instance. For more information, see "Increasing CPU or memory resources."
Note: The root disk can be resized by building a new appliance or using an existing appliance. For more information, see "Increasing storage capacity."
Warning: We recommend you use webhooks to fetch repository changes for continuous integration (CI) or similar systems. Regular automatic checks, or polling, will significantly reduce the scalability of your instance. 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
Based on your user license count, we recommend these machine types.
Estações | Tipo recomendado |
---|---|
Trial, demo, or 10 light users | n1-standard-4 |
10 - 3000 | n1-standard-8 |
3000 - 5000 | n1-highmem-8 |
5000 - 8000 | n1-highmem-16 |
8000 - 10000+ | n1-highmem-32 |
Note: You can always scale up your CPU or memory by resizing your instance. However, because resizing your CPU or memory requires downtime for your users, we recommend over-provisioning resources to account for scale.
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 over SSH access. Clone, fetch, and push operations to public/private repositories supported. 25 SMTP SMTP with encryption (STARTTLS) support. 80 HTTP Web application access. All requests are redirected to the HTTPS port when SSL is enabled. 122 SSH Instance shell access. The default SSH port (22) is dedicated to application git+ssh network traffic. 161/UDP SNMP Obrigatória para operações de protocolo de monitoramento de rede. 443 HTTPS Web application and Git over HTTPS access. 1194/UDP VPN Secure replication network tunnel in high availability configuration. 8080 HTTP Plain-text web based Console de gerenciamento. Not required unless SSL is disabled manually. 8443 HTTPS Secure web based Console de gerenciamento. Required for basic installation and configuration. 9418 Git Simple Git protocol port. Clone and fetch operations to public repositories only. Unencrypted network communication.
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".
-
Using the gcloud compute command-line tool, create a data disk to use as an attached storage volume for your instance data, and configure the size based on your user license count. 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.
- At the prompt, upload your license file and set a management console password. For more information, see "Managing your GitHub Enterprise Server license."
- In the Console de gerenciamento, configure and save your desired settings. Para obter mais informações, consulte "Configurar o appliance do GitHub Enterprise Server".
- A instância será reiniciada automaticamente.
- Click Visit your instance.