Puedes implementar GitHub Enterprise Server en Azure mundial o Azure Government.
Prerrequisitos
- Debes tener un archivo de licencia de GitHub Enterprise. Para obtener más información, consulta las secciones "Configurar una prueba de GitHub Enterprise Server" y "Acerca de las licencias de GitHub Enterprise".
- Debes tener una cuenta Azure capaz de abastecer nuevas máquinas. Para obtener más información, consulta 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, consulta la guía de Azure "Instalar Azure CLI 2.0."
Consideraciones relativas al hardware
Requisitos mínimos
Te recomendamos utilizar configuraciones de hardware diferentes dependiendo 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, tu instancia funcionrá y escalará mejor.
Licencias de usuario | vCPU | Memoria | Almacenamiento conectado | 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 | Rendimiento máximo del job |
---|---|---|
4 | 32 GB | Demo o pruebas leves |
8 | 64 GB | 25 puestos de trabajo |
16 | 160 GB | 35 puestos de trabajo |
32 | 256 GB | 100 puestos de trabajo |
Para obtener más información sobre estos requisitos, consulta la sección "Iniciar con las GitHub Actions para GitHub Enterprise Server".
Para obtener más información sobre el ajuste de recursos para una instancia existente, consulta las secciones "Incrementar la capacidad de almacenamiento" e "Incrementar los recursos de memoria o de CPU".
Almacenamiento
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, consulta "Resumen del sistema".
Para configurar las GitHub Actions, debes proporcionar un almacenamiento de blobs externos. Para obtener más información, consulta la sección "Iniciar con las 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, consulta las secciones "Resumen del sistema" y "Incrementar 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 obtener más información, consulta la sección "Iniciar con las 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: te recomendamos que los usuarios configuren eventos de webhooks para notificar a los sistemas externos sobre la actividad en GitHub Enterprise Server. Las verificaciones automatizadas para los cambios, o el sondeo, impactará negativamente el rendimiento y la escalabilidad de tu instancia. Para obtener más información, consulta la sección "Acerca de los webhooks".
Para obtener más información acerca de cómo monitorear la capacidad y rendimiento de GitHub Enterprise Server, consulta la sección "Monitorear tu aplicativo".
Puedes incrementar los recursos de memoria o de CPU para tu instancia. Para obtener más información, consulta "Aumentar los recursos de memoria o la CPU."
Determinar el tipo de máquina virtual
Antes de iniciar tu instancia de GitHub Enterprise Server 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 con memoria optimizada, consulta la sección "tamaños de máquina virtual con memoria optimizada" en la documentación de Microsoft Azure. Para revisar los requisitos mínimos de recursos para GitHub Enterprise Server, consulta la sección "Requisitos mínimos".
Nota: Siempre puedes mejorar tu CPU o memoria si cambias tu instancia de tamaño. 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 Azure VM con el sufijo s
s son compatibles con el almacenamiento premium. Para obtener más información, consulta las secciones "¿Qué tipos de disco están disponibles en Azure?" y "Almacenamiento premium de Azure: diseño para la disponibilidad alta" en la documentación de Azure.
GitHub recomienda una VM con memoria optimizada para GitHub Enterprise Server. Para obtener más información, consulta la sección "Tamaños de máquina virtual con memoria optimizada" en la documentación de Azure.
GitHub Enterprise Server admite cualquier región que sea compatible con tu tipo de VM. Para obtener más información sobre las regiones admitidas para cada VM, consulte los productos de Azure "disponibles por región."
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 obtener más información, consulta "Consideraciones relativas al hardware."
-
Encuentra la imagen de aparato más reciente GitHub Enterprise Server. Para obtener más información sobre el comando
vm image list
, consulta "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, consulta "
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 grupos de recursos, consulta "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, consulta "
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 (Puerto) 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 redireccionan al puerto HTTPS cuando se habilita SSL. 122 SSH Acceso a shell de instancia. El puerto predeterminado (22) se dedica a la aplicación de git+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 se requiere excepto que el SSL esté inhabilitado de forma manual. 8443 HTTPS Consola de administración seguro basada en la web. Requerido 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 consulta la sección "Requerir políticas de administración de repositorios en tu 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, consulta "
az vm disk attach
" en la documentación de Microsoft.Aprueba opciones para el nombre de tu VM (por ejemplo,
ghe-acme-corp
), el grupo de recurso, el almacenamiento prémium de SKU, el tamaño del disco (por ejemplo,100
) y un nombre para el VHD 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 instancias no productivas que tengan suficiente rendimiento de E/S, el tamaño mínimo recomendado es de 40 GiB con caché de lectura/escritura activado (
--caching ReadWrite
).
Configurara la máquina virtual GitHub Enterprise Server
-
Antes de configurar el VM, debes esperar que pase al estado ReadyRole. Controla el estado del VM con el comando
vm list
. Para obtener más información, consulta "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 el VM. Para obtener más información, consulta la guía de Azure sobre cómo "Crear un nombre de dominio certificado completo en el portal de Azure para una VM de Linux."
-
Copia el nombre DNS público de la máquina virtual y pégalo en un navegador de red.
-
En el prompt, carga tu archivo de licencia y configura una contraseña de consola de administración. Paa obtener más información, consulta la sección "Administrar tu licencia de GitHub Enterprise".
-
En la Consola de administración, configura y guarda a configuración que desees. Para obtener más información, consulta "Configurar el aparato de GitHub Enterprise Server."
-
La instancia se reiniciará automáticamente.
-
Da clic en Visitar tu instancia.