Requisitos previos
- Debes tener un archivo de licencia de GitHub Enterprise. Para obtener más información, vea «Configurar una prueba del servidor de GitHub Enterprise» y «Acerca de las licencias para GitHub Enterprise».
- Debes tener una cuenta de Google Cloud Platform capaz de iniciar instancias de la máquina virtual (VM) de Google Compute Engine (GCE). Para más información, consulta el sitio web de Google Cloud Platform y la documentación de Google Cloud Platform.
- La mayoría de las acciones necesarias para iniciar la instancia también se pueden realizar mediante la consola de Google Cloud Platform. Sin embargo, recomendamos instalar la herramienta de línea de comando de gcloud compute para la configuración inicial. Se incluyen abajo ejemplos que utilizan la herramienta de línea de comando de gcloud compute. Para más información, consulta la guía de instalación y configuración de gcloud compute en la documentación de Google.
Consideraciones de hardware
Requisitos mínimos recomendados
Te recomendamos usar otras configuraciones de hardware en función de la cantidad de licencias de usuario que tengas para tu instancia de GitHub Enterprise Server. Si aprovisionaste más recursos que los de los requisitos mínimos recomendados, tu instancia funcionrá y escalará mejor.
Licencias de usuario | x86-64 vCPUs | Memoria | Almacenamiento raíz | Almacenamiento adjunto (datos) |
---|---|---|---|---|
Prueba, Demo o 10 usuarios no frecuentes | 4 | 32 GB | 200 GB | 150 GB |
10-3000 | 8 | 48 GB | 200 GB | 300 GB |
3000-5000 | 12 | 64 GB | 200 GB | 500 GB |
5000-8000 | 16 | 96 GB | 200 GB | 750 GB |
8000-10000+ | 20 | 160 GB | 200 GB | 1000 GB |
Si planeas habilitar las GitHub Actions o GitHub Advanced Security para los usuarios de tu instancia, se necesitarán más recursos.
- GitHub Actions: aumenta la CPU y la memoria en al menos un 25 %
- GitHub Advanced Security: aumenta la CPU y la memoria en al menos un 25 %
Estos ajustes se deben aplicar a los requisitos base de cada nivel de usuario. Se recomienda supervisar todos los cambios en los recursos, ya que es posible que se necesiten aumentos adicionales.
Para más información sobre estos requisitos, consulte "Iniciar con GitHub Actions para GitHub Enterprise Server."
Si tiene previsto habilitar Container registry para los usuarios de su instancia, necesitará más recursos. Para más información sobre estos requisitos, consulte "Iniciar con GitHub Packages para tu empresa."
Para más información sobre cómo ajustar recursos para una instancia existente, consulta "Aumentar la capacidad de almacenamiento" y "Aumentar el CPU o los recursos de memoria".
Storage
Recomendamos un SSD de alto rendimiento con operaciones de altas de entrada/salida por segundo (IOPS) y latencia baja para GitHub Enterprise Server. Las cargas de trabajo son intensivas para las I/O. Si utilizas un hipervisor de metal puro, te recomendamos adjuntar directamente el disco o utilizar un disco de una red de área de almacenamiento (SAN).
Tu instancia requiere un disco de datos persistentes independiente del disco raíz. Para obtener más información, vea «Información general del sistema».
Warning
El almacenamiento raíz hace referencia al tamaño total del disco raíz de la instancia. Cuando se arranque la instancia, verá 100 GB estarán disponibles en el sistema de archivos raíz. Los otros de 100 GB están reservados para las actualizaciones. Para obtener más información, vea «Información general del sistema».
Para configurar las GitHub Actions, debes proporcionar un almacenamiento de blobs externos. Para obtener más información, vea «Iniciar con GitHub Actions para GitHub Enterprise Server».
El espacio disponible en el sistema de archivos raíz será de 50% del tamaño total en disco. Puedes redimensionar el disco raíz de tu instancia si creas una instancia nueva o si utilizas una instancia existente. Para obtener más información, vea «Información general del sistema» y «Aumentar la capacidad de almacenamiento».
CPU y memoria
Los recursos de memoria y CPU que GitHub Enterprise Server requiere dependen de los niveles de actividad para los usuarios, automatizaciones e integraciones.
Las máquinas virtuales que aprovisiones para tu instancia de GitHub Enterprise Server deben usar la arquitectura de CPU x86-64. No se admiten otras arquitecturas, como Aarch64 o arm64.
Si planeas habilitar las GitHub Actions para los usuarios de tu instancia de GitHub Enterprise Server, podrías necesitar aprovisionar recursos de memoria y CPU adicionales para esta. Para obtener más información, vea «Iniciar con GitHub Actions para GitHub Enterprise Server».
Cuando incremente sus recursos de CPU, GitHub recomienda agregar por lo menos 6,5 GB de memoria para cada vCPU (hasta 16 vCPU) que aprovisionar para la instancia. Cuando utilizas más de 16 CPU, no necesitas agregar 6.5 GB de memoria para cada uno, pero debes monitorear tu instancia para garantizar que tenga memoria suficiente.
Warning
Es recomendable que los usuarios configuren eventos de webhook para notificar a los sistemas externos la actividad en GitHub Enterprise Server. Las comprobaciones automáticas de cambios, o sondeo, tendrán un impacto negativo en el rendimiento y la escalabilidad de la instancia. Para obtener más información, vea «Acerca de webhooks».
Para más información sobre la supervisión de la capacidad y el rendimiento de GitHub Enterprise Server, vea "Supervisión de la instancia".
Puedes incrementar los recursos de memoria o de CPU para tu instancia. Para obtener más información, vea «Aumentar el CPU o los recursos de memoria».
Determinar el tipo de máquina
Antes de iniciar tu instancia de GitHub Enterprise Server en Google Cloud Platform, deberás determinar qué tipo de máquina se adapta mejor a las necesidades de tu organización. Para revisar los requisitos mínimos recomendados de GitHub Enterprise Server, consulta Requisitos mínimos recomendados.
Siempre puedes escalar verticalmente la CPU o la memoria cambiando de tamaño la instancia. Cambiar los recursos disponibles para la instancia requiere tiempo de inactividad para los usuarios, por lo que GitHub recomienda sobreaprovisionar recursos para tener en cuenta la escala.
GitHub recomienda una máquina de propósitos generales con memoria alta para GitHub Enterprise Server. Para obtener más información, consulta Tipos de máquina en la documentación de Google Compute Engine.
Seleccionar la imagen GitHub Enterprise Server
-
Con la herramienta de línea de comandos de proceso de gcloud, muestre una lista de las imágenes públicas de GitHub Enterprise Server:
gcloud compute images list --project github-enterprise-public --no-standard-images
-
Toma nota del nombre de la imagen para la última imagen de GCE de GitHub Enterprise Server.
Configuración del firewall
Las máquinas virtuales de GCE se crean como un miembro de la red, que tiene un firewall. Para la red asociada con la VM GitHub Enterprise Server, deberás configurar el firewall para permitir los puertos requeridos en la tabla de abajo. Se recomienda abrir los puertos de red de forma selectiva en función de los servicios de red que necesita exponer para fines administrativos y de usuario. Para más información, consulta Puertos de red e Introducción a las reglas de firewall en la documentación de Google Cloud Platform.
-
Crea la red utilizando la herramienta de línea de comando de gcloud compute. Para más información, consulta gcloud compute networks create en la documentación de Google.
gcloud compute networks create NETWORK-NAME --subnet-mode auto
-
Crea una regla de firewall para cada uno de los puertos en la tabla de abajo. Para más información, consulta gcloud compute firewall-rules en la documentación de 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 tabla identifica los puertos requeridos y para qué se usa cada puerto.
Port Servicio Descripción 22 SSH Git a través de acceso SSH. Se admite clonar, extraer y subir operaciones a repositorios privados/públicos. 25 SMTP SMTP con soporte de encriptación (STARTTLS). 80 HTTP Acceso a aplicación web. Todas las solicitudes se redirigen al puerto HTTPS cuando se habilita SSL. 122 SSH Acceso a shell de instancia. El puerto SSH predeterminado (22) se dedica a la aplicación de Git y el tráfico de red SSH. 161/UDP SNMP Se requiere para operar el protocolo de revisión de red. 443 HTTPS Aplicación web y Git a través de acceso HTTPS. 1194/UDP VPN Túnel de red de replicación segura en la configuración de alta disponibilidad. Cifrado mediante WireGuard. 8080 HTTP Consola de administración basada en la web de texto simple. No es obligatorio a menos que SSL se deshabilite de forma manual. 8443 HTTPS Consola de administración seguro basada en la web. Necesario para la instalación y la configuración básicas. 9418 Git Puerto simple de protocolo de Git. Únicamente clonar y extraer operaciones a repositorios públicos. Comunicación de red sin cifrar. Si habilitaste el modo privado en tu instancia, entonces solo se requerirá abrir este puerto si también habilitas el acceso de lectura anónimo para Git. Para obtener más información, vea «Requerir políticas de administración de repositorios en tu empresa».
Asignar una IP estática y atribuirla a una VM
Si es un aparato de producción, recomendamos firmemente reservar una dirección de IP estática externa y asignarla a la VM GitHub Enterprise Server. En caso contrario, la dirección de IP pública de la VM no se mantendrá después de que se reinicie. Para más información, consulta la guía de Google Reserva de una dirección IP externa estática.
En las configuraciones de alta disponibilidad de producción, tantos en el aparato principal como en la réplica deberían asignarse direcciones estáticas de IP separadas.
Crear la instancia de GitHub Enterprise Server
Para crear la instancia GitHub Enterprise Server, deberás crear una instancia de GCE con tu imagen GitHub Enterprise Server y adjuntarle volumen de almacenamiento adicional para los datos de tu instancia. Para más información, consulta Consideraciones de hardware.
-
Crea un disco de datos para utilizar como un volumen de almacenamiento adjunto para tu instancia de datos utilizando la herramienta de línea de comandos para cálculo gcloud y configura el tamaño con base en la cantidad de licencias que tengas. Para más información, consulta gcloud compute disks create en la documentación de Google.
gcloud compute disks create DATA-DISK-NAME --size DATA-DISK-SIZE --type DATA-DISK-TYPE --zone ZONE
-
Después crea una instancia utilizando el nombre de la imagen GitHub Enterprise Server que seleccionaste, y adjunta el disco de datos. Para más información, consulta gcloud compute instances create en la documentación de 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 la instancia
Para configurar la instancia, debes cargar un archivo de licencia, establecer la contraseña raíz de Consola de administración, configurar la instancia y reiniciarla.
Warning
Para evitar que un atacante ponga en peligro la nueva instancia, asegúrate de establecer personalmente la contraseña raíz Consola de administración y crea el primer usuario lo antes posible.
- Copie el nombre DNS público de la máquina virtual y péguelo en un explorador web.
- En el prompt, carga tu archivo de licencia y configura una contraseña de consola de administración. Para obtener más información, vea «Administrar tu licencia de GitHub Enterprise».
- En Consola de administración, configura y guarda la configuración deseada. Para obtener más información, consulta Configurar GitHub Enterprise.
- La instancia se reiniciará automáticamente.
- Haga clic en Visitar la instancia.