Puedes implementar GitHub Enterprise Server en Azure mundial o Azure Government.
Requisitos previos
- Debes tener un archivo de licencia de GitHub Enterprise. Para obtener más información, consulte "Configuración de una versión de prueba de GitHub Enterprise Server" y "Acerca de las licencias para GitHub Enterprise".
- Debes tener una cuenta Azure capaz de abastecer nuevas máquinas. Para obtener más información, consulte el sitio web de Microsoft Azure.
- La mayoría de las acciones necesarias para lanzar tu máquina virtual (VM) también se podrían realizar por medio del Portal Azure. Sin embargo, recomendamos instalar la interfaz de la línea de comando de Azure (CLI) para la configuración inicial. Abajo se incluyen ejemplos que utilizan Azure CLI 2.0. Para obtener más información, consulte la guía de Azure "Instalación de CLI de Azure 2.0".
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 usuario | vCPU | Memoria | Almacenamiento acoplado | Almacenamiento raíz |
---|---|---|---|---|
Prueba, Demo o 10 usuarios no frecuentes | 4 | 32 GB | 150 GB | 200 GB |
10-3000 | 8 | 48 GB | 300 GB | 200 GB |
3000-5000 | 12 | 64 GB | 500 GB | 200 GB |
5000-8000 | 16 | 96 GB | 750 GB | 200 GB |
8000-10000+ | 20 | 160 GB | 1000 GB | 200 GB |
Si planeas habilitar las GitHub Actions para los usuarios de tu instancia, se necesitarán más recursos.
vCPU | Memoria | Simultaneidad máxima |
---|---|---|
32 | 128 GB | 1000 trabajos |
64 | 256 GB | 1300 trabajos |
96 | 384 GB | 2200 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 virtual
Antes de iniciar your GitHub Enterprise Server instance en Azure, deberás determinar el tipo de máquina que mejor se adapte a las necesidades de tu organización. Para obtener más información sobre las máquinas optimizadas para memoria, consulta "Tamaños de máquina virtual optimizados para memoria " en la documentación de Microsoft Azure. Para revisar los requisitos mínimos de recursos para GitHub Enterprise Server, consulta "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.
El aparato GitHub Enterprise Server requiere un disco de datos de almacenamiento prémium, y es compatible con cualquier Azure VM que admita almacenamiento prémium. Los tipos de VM de Azure con el sufijo s
admiten el almacenamiento premium. Para más información, vea "¿Qué tipos de disco están disponibles en Azure?" y "Azure Premium Storage: diseño para un alto rendimiento" en la documentación de Azure.
GitHub recomienda una VM con memoria optimizada para GitHub Enterprise Server. Para más información, vea "Tamaños de máquina virtual optimizados para memoria" en la documentación de Azure.
GitHub Enterprise Server admite cualquier región que sea compatible con tu tipo de VM. Para más información sobre las regiones admitidas para cada máquina virtual, vea "Productos disponibles por región" de Azure.
Crear la máquina virtualGitHub Enterprise Server
Para crear la instancia, deberás importar la imagen del GitHub Enterprise Server a tu máquina virtual y adjuntar un volumen de almacenamiento adicional para los datos de tu instancia. Para más información, vea "Consideraciones de hardware".
-
Encuentra la imagen de aparato más reciente GitHub Enterprise Server. Para obtener más información sobre el comando
vm image list
, consulte "az vm image list
" en la documentación de Microsoft.$ az vm image list --all -f GitHub-Enterprise | grep '"urn":' | sort -V
-
Crea una nueva VM utilizando la imagen de aparato que encontraste. Para obtener más información, consulte "
az vm create
" en la documentación de Microsoft.Aprueba opciones para el nombre de tu VM, el grupo de recurso, el tamaño de tu VM, el nombre de tu región Azure preferida, el nombre de la imagen de tu aparato VM que enumeraste en el paso anterior y el almacenamiento SKU para un almacenamiento prémium. Para obtener más información sobre los grupos de recursos, consulte "Grupos de recursos" en la documentación de Microsoft.
$ az vm create -n VM_NAME -g RESOURCE_GROUP --size VM_SIZE -l REGION --image APPLIANCE_IMAGE_NAME --storage-sku Premium_LRS
-
Configura los parámetros de seguridad en tu VM para abrir los puertos requeridos. Para obtener más información, consulte "
az vm open-port
" en la documentación de Microsoft. Consulta la tabla de abajo para obtener una descripción de cada puerto para determinar qué puertos debes abrir.$ az vm open-port -n VM_NAME -g RESOURCE_GROUP --port PORT_NUMBER
Esta tabla identifica para qué se utiliza 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. 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 más información, vea "Aplicación de directivas de administración de repositorios en la empresa". -
Crea y adjunta a la VM un nuevo disco de datos descifrado y configura su tamaño con base en la cantidad de licencias que tengas. Para obtener más información, consulte "
az vm disk attach
" en la documentación de Microsoft.Apruebe opciones para el nombre de su máquina virtual (por ejemplo,
ghe-acme-corp
), el grupo de recurso, el almacenamiento premium de SKU, el tamaño del disco (por ejemplo,100
) y un nombre para el disco duro virtual resultante.$ az vm disk attach --vm-name VM_NAME -g RESOURCE_GROUP --sku Premium_LRS --new -z SIZE_IN_GB --name ghe-data.vhd --caching ReadWrite
Nota: Para que las instancias que no sean de producción tengan suficiente rendimiento de E/S, el tamaño mínimo de disco recomendado es de 40 GiB con caché de lectura y escritura habilitada (
--caching ReadWrite
).
Configurara la máquina virtual GitHub Enterprise Server
-
Antes de configurar el VM, debes esperar que pase al estado ReadyRole. Compruebe el estado de la máquina virtual con el comando
vm list
. Para obtener más información, consulte "az vm list
" en la documentación de Microsoft.$ az vm list -d -g RESOURCE_GROUP -o table > Name ResourceGroup PowerState PublicIps Fqdns Location Zones > ------ --------------- ------------ ------------ ------- ---------- ------- > VM_NAME RESOURCE_GROUP VM running 40.76.79.202 eastus
Nota: Azure no crea automáticamente una entrada FQDNS para la máquina virtual. Para obtener más información, consulte "Creación de un nombre de dominio completo en Azure Portal para una máquina virtual Windows" en la guía de Azure.
-
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".
-
La instancia se reiniciará automáticamente. 1. Haga clic en Visitar la instancia.