Skip to main content

Instalar el servidor de GitHub Enterprise en Google Cloud Platform

Para instalar GitHub Enterprise Server en Google Cloud Platform, debes implementar un tipo de máquina soportado y utilizar un disco estándar persistente o un SSD persistente.

Requisitos previos

Consideraciones de hardware

Requisitos mínimos

Le recomendamos usar otras configuraciones de hardware en función de la cantidad de licencias de usuario que tenga para your GitHub Enterprise Server instance. Si aprovisionaste más recursos que los de los requisitos mínimos, tu instancia funcionrá y escalará mejor.

Licencias de usuariovCPUMemoriaAlmacenamiento acopladoAlmacenamiento raíz
Prueba, Demo o 10 usuarios no frecuentes432 GB150 GB200 GB
10-3000848 GB300 GB200 GB
3000-50001264 GB500 GB200 GB
5000-80001696 GB750 GB200 GB
8000-10000+20160 GB1000 GB200 GB

Si planeas habilitar las GitHub Actions para los usuarios de tu instancia, se necesitarán más recursos.

vCPUMemoriaSimultaneidad máxima
864 GB740 trabajos
16128 GB1250 trabajos
32160 GB2700 trabajos
64256 GB4500 trabajos
96384 GB7000 trabajos

Para más información sobre estos requisitos, vea "Introducción a GitHub Actions para GitHub Enterprise Server".

Para más información sobre cómo ajustar los recursos de una instancia existente, vea "Aumento de la capacidad de almacenamiento" y "Aumento de los recursos de CPU o 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 más información, vea "Información general del sistema".

Para configurar las GitHub Actions, debes proporcionar un almacenamiento de blobs externos. Para más información, vea "Introducción a 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 más información, vea "Información general del sistema" y "Aumento de 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.

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 más información, vea "Introducción a GitHub Actions para GitHub Enterprise Server".

Cuando incrementas tus recursos de CPU, te recomendamos agregar por lo menos 6.5 GB de memoria para cada vCPU (hasta 16 vCPU) que aprovisiones 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.

Advertencia: 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 más información, vea "Acerca de los webhooks".

Para más información sobre la supervisión de la capacidad y el rendimiento de GitHub Enterprise Server, vea "Supervisión del dispositivo".

Puedes incrementar los recursos de memoria o de CPU para tu instancia. Para más información, vea "Aumento de los recursos de CPU o memoria".

Determinar el tipo de máquina

Antes de iniciar your GitHub Enterprise Server instance en Google Cloud Platform, deberá determinar el tipo de máquina que mejor se adapte a las necesidades de su organización. Para revisar los requisitos mínimos de GitHub Enterprise Server, vea "Requisitos mínimos".

Nota: Siempre puede escalar verticalmente la CPU o la memoria si cambia de tamaño la instancia. Sin embargo, ya que cambiar de tamaño tu CPU o memoria requiere tiempo de inactividad para tus usuarios, recomendamos contar con recursos de sobra para compensar un escalamiento.

GitHub recomienda una máquina de propósitos generales con memoria alta para GitHub Enterprise Server. Para obtener más información, vea "Tipos de máquina" en la documentación de Google Compute Engine.

Seleccionar la imagen GitHub Enterprise Server

  1. 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
  2. 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. Para obtener más información sobre las reglas de firewall en Google Cloud Platform, vea la guía de Google "Información general sobre las reglas de firewall".

  1. Crea la red utilizando la herramienta de línea de comando de gcloud compute. Para obtener más información, vea "Creación de redes de proceso de gcloud" en la documentación de Google.

    $ gcloud compute networks create NETWORK-NAME --subnet-mode auto
  2. Crea una regla de firewall para cada uno de los puertos en la tabla de abajo. Para obtener más información, vea "Reglas de firewall de proceso de gcloud" 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.

    PortServicioDescripción
    22SSHGit a través de acceso SSH. Se admite clonar, extraer y subir operaciones a repositorios privados/públicos.
    25SMTPSMTP con soporte de encriptación (STARTTLS).
    80HTTPAcceso a aplicación web. Todas las solicitudes se redirigen al puerto HTTPS cuando se habilita SSL.
    122SSHAcceso 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/UDPSNMPSe requiere para operar el protocolo de revisión de red.
    443HTTPSAplicación web y Git a través de acceso HTTPS.
    1194/UDPVPNTúnel de red de replicación segura en la configuración de alta disponibilidad.
    8080HTTPConsola de administración basada en la web de texto simple. No es obligatorio a menos que SSL se deshabilite de forma manual.
    8443HTTPSConsola de administración seguro basada en la web. Necesario para la instalación y la configuración básicas.
    9418GitPuerto 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 más información, vea "Aplicación de directivas de administración de repositorios en la 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 obtener más información, vea 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, vea "Consideraciones de hardware".

  1. 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 obtener más información, vea "Creación de discos de proceso de gcloud" en la documentación de Google.

    $ gcloud compute disks create DATA-DISK-NAME --size DATA-DISK-SIZE --type DATA-DISK-TYPE --zone ZONE
  2. Después crea una instancia utilizando el nombre de la imagen GitHub Enterprise Server que seleccionaste, y adjunta el disco de datos. Para obtener más información, vea "Creación de instancias de proceso de gcloud" 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

  1. Copie el nombre DNS público de la máquina virtual y péguelo en un explorador web. 2. En el prompt, carga tu archivo de licencia y configura una contraseña de consola de administración. Para obtener más información, consulte "Administrar tu licencia de GitHub Enterprise". 3. En Consola de administración, configura y guarda la configuración deseada. Para más información, vea "Configuración del dispositivo GitHub Enterprise Server".
  2. La instancia se reiniciará automáticamente. 1. Haga clic en Visitar la instancia.

Información adicional