7.3 KiB
title, intro, redirect_from, versions, topics, shortTitle
| title | intro | redirect_from | versions | topics | shortTitle | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Installing GitHub Enterprise Server on Azure | To install {% data variables.product.prodname_ghe_server %} on Azure, you must deploy onto a DS-series instance and use Premium-LRS storage. |
|
|
|
Install on Azure |
You can deploy {% data variables.product.prodname_ghe_server %} on global Azure or Azure Government.
Prerequisites
- {% data reusables.enterprise_installation.software-license %}
- You must have an Azure account capable of provisioning new machines. For more information, see the Microsoft Azure website.
- Most actions needed to launch your virtual machine (VM) may also be performed using the Azure Portal. However, we recommend installing the Azure command line interface (CLI) for initial setup. Examples using the Azure CLI 2.0 are included below. For more information, see Azure's guide "Install Azure CLI 2.0."
Hardware considerations
{% data reusables.enterprise_installation.hardware-considerations-all-platforms %}
Determining the virtual machine type
Before launching {% data variables.product.product_location %} on Azure, you'll need to determine the machine type that best fits the needs of your organization. To review the minimum requirements for {% data variables.product.product_name %}, see "Minimum requirements."
{% data reusables.enterprise_installation.warning-on-scaling %}
The {% data variables.product.prodname_ghe_server %} appliance requires a premium storage data disk, and is supported on any Azure VM that supports premium storage. Azure VM types with the s suffix support premium storage. For more information, see "What disk types are available in Azure?" and "Azure premium storage: design for high performance" in the Azure documentation.
{% data variables.product.company_short %} recommends a memory-optimized VM for {% data variables.product.prodname_ghe_server %}. For more information, see "Memory optimized virtual machine sizes" in the Azure documentation.
{% data variables.product.prodname_ghe_server %} supports any region that supports your VM type. For more information about the supported regions for each VM, see Azure's "Products available by region."
Creating the {% data variables.product.prodname_ghe_server %} virtual machine
{% data reusables.enterprise_installation.create-ghe-instance %}
- Find the most recent {% data variables.product.prodname_ghe_server %} appliance image. For more information about the
vm image listcommand, see "az vm image list" in the Microsoft documentation.
$ az vm image list --all -f GitHub-Enterprise | grep '"urn":' | sort -V
- Create a new VM using the appliance image you found. For more information, see "az vm create" in the Microsoft documentation.
Pass in options for the name of your VM, the resource group, the size of your VM, the name of your preferred Azure region, the name of the appliance image VM you listed in the previous step, and the storage SKU for premium storage. For more information about resource groups, see "Resource groups" in the Microsoft documentation.
$ az vm create -n <em>VM_NAME</em> -g <em>RESOURCE_GROUP</em> --size <em>VM_SIZE</em> -l <em>REGION</em> --image <em>APPLIANCE_IMAGE_NAME</em> --storage-sku Premium_LRS
- Configure the security settings on your VM to open up required ports. For more information, see "az vm open-port" in the Microsoft documentation. See the table below for a description of each port to determine what ports you need to open.
$ az vm open-port -n <em>VM_NAME</em> -g <em>RESOURCE_GROUP</em> --port <em>PORT_NUMBER</em>
This table identifies what each port is used for.
{% data reusables.enterprise_installation.necessary_ports %}
- Create and attach a new unencrypted data disk to the VM, and configure the size based on your user license count. For more information, see "az vm disk attach" in the Microsoft documentation.
Pass in options for the name of your VM (for example, ghe-acme-corp), the resource group, the premium storage SKU, the size of the disk (for example, 100), and a name for the resulting VHD.
$ az vm disk attach --vm-name <em>VM_NAME</em> -g <em>RESOURCE_GROUP</em> --sku Premium_LRS --new -z <em>SIZE_IN_GB</em> --name ghe-data.vhd --caching ReadWrite
{% note %}
Note: For non-production instances to have sufficient I/O throughput, the recommended minimum disk size is 40 GiB with read/write cache enabled (--caching ReadWrite).
{% endnote %}
Configuring the {% data variables.product.prodname_ghe_server %} virtual machine
- Before configuring the VM, you must wait for it to enter ReadyRole status. Check the status of the VM with the
vm listcommand. For more information, see "az vm list" in the Microsoft documentation.
$ az vm list -d -g <em>RESOURCE_GROUP</em> -o table
> Name ResourceGroup PowerState PublicIps Fqdns Location Zones
> ------ --------------- ------------ ------------ ------- ---------- -------
> VM_NAME RESOURCE_GROUP VM running 40.76.79.202 eastus
{% note %}
Note: Azure does not automatically create a FQDNS entry for the VM. For more information, see Azure's guide on how to "Create a fully qualified domain name in the Azure portal for a Linux VM."
{% endnote %}
{% data reusables.enterprise_installation.copy-the-vm-public-dns-name %} {% data reusables.enterprise_installation.upload-a-license-file %} {% data reusables.enterprise_installation.save-settings-in-web-based-mgmt-console %} For more information, see "Configuring the {% data variables.product.prodname_ghe_server %} appliance." {% data reusables.enterprise_installation.instance-will-restart-automatically %} {% data reusables.enterprise_installation.visit-your-instance %}
Further reading
- "System overview"{% ifversion ghes > 2.22 %}
- "About upgrades to new releases"{% endif %}