You can deploy GitHub Enterprise Server on global Azure or Azure Government.
Prerequisites
- 您必须拥有 GitHub Enterprise 许可文件。 有关详细信息,请参阅“设置 GitHub Enterprise Server 的试用版”和“关于 GitHub Enterprise 的许可证。”
- 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
Minimum requirements
We recommend different hardware configurations depending on the number of user licenses for your GitHub Enterprise Server instance. If you provision more resources than the minimum requirements, your instance will perform and scale better.
用户许可证 | vCPU | 内存 | 附� 存储 | � �存储 |
---|---|---|---|---|
试用版、演示版或 10 个轻度用户 | 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 |
如果计划为实例的用户启用 GitHub Actions,则需要更多资源。
vCPU | 内存 | 最大并行数 |
---|---|---|
32 | 128 GB | 1000 个作业 |
64 | 256 GB | 1300 个作业 |
96 | 384 GB | 2200 个作业 |
有关这些要求的详细信息,请参阅“GitHub Enterprise Server 的 GitHub Actions 使用入门”。
有关调整现有实例的资源的详细信息,请参阅“增� 存储容量”和“增� CPU 或内存资源”。
Storage
We recommend a high-performance SSD with high input/output operations per second (IOPS) and low latency for GitHub Enterprise Server. Workloads are I/O intensive. If you use a bare metal hypervisor, we recommend directly attaching the disk or using a disk from a storage area network (SAN).
Your instance requires a persistent data disk separate from the root disk. For more information, see "System overview."
To configure GitHub Actions, you must provide external blob storage. For more information, see "Getting started with GitHub Actions for GitHub Enterprise Server."
The available space on the root filesystem will be 50% of the total disk size. You can resize your instance's root disk by building a new instance or using an existing instance. For more information, see "System overview" and "Increasing storage capacity."
CPU and memory
The CPU and memory resources that GitHub Enterprise Server requires depend on the levels of activity for users, automations, and integrations.
If you plan to enable GitHub Actions for the users of your GitHub Enterprise Server instance, you may need to provision additional CPU and memory resources for your instance. For more information, see "Getting started with GitHub Actions for GitHub Enterprise Server."
增� CPU 资源时,我们建议为实例预配的每个 vCPU(最多 16 个 vCPU)增� 至少 6.5 GB 的内存。 如果您使用的 vCPU 超过 16 个,则� 需为每个 vCPU 添� 6.5 GB 内存,但应监控您的实例以确保其有足够的内存。
Warning: We recommend that users configure webhook events to notify external systems of activity on GitHub Enterprise Server. Automated checks for changes, or polling, will negatively impact the performance and scalability of your instance. For more information, see "About webhooks."
For more information about monitoring the capacity and performance of GitHub Enterprise Server, see "Monitoring your appliance."
You can increase your instance's CPU or memory resources. For more information, see "Increasing CPU or memory resources."
Determining the virtual machine type
Before launching your GitHub Enterprise Server instance on Azure, you'll need to determine the machine type that best fits the needs of your organization. For more information about memory optimized machines, see "Memory optimized virtual machine sizes" in the Microsoft Azure documentation. To review the minimum resource requirements for GitHub Enterprise Server, see "Minimum requirements."
注意:可以随时通过调整实例大小来扩展 CPU 或内存。 但由于调整 CPU 或内存的大小需要对用户停机,� 此我们建议超配资源来应对扩展。
GitHub Enterprise Server 设备需要高级存储数据磁盘,可以在支持高级存储的任何 Azure VM 上使用。 带有 s
后缀的 Azure VM 类型支持高级存储。 有关详细信息,请参阅 Azure 文档中的“Azure 中提供哪些磁盘类型?” 和“Azure 高级存储:高性能设计”。
GitHub 建议对 GitHub Enterprise Server 使用内存优化的虚拟机。 有关详细信息,请参阅 Azure 文档中的“内存优化虚拟机大小”。
GitHub Enterprise Server 可以在支持您的 VM 类型的任何地区使用。 有关每个 VM 支持的区域的详细信息,请参阅 Azure 的“提供的产品(按区域)”。
Creating the GitHub Enterprise Server virtual machine
要创建实例,需要将 GitHub Enterprise Server � 像导入虚拟机,并为实例数据附� 额外的存储卷。 有关详细信息,请参阅“硬件注意事项”。
-
Find the most recent GitHub Enterprise Server appliance image. For more information about the
vm image list
command, 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 VM_NAME -g RESOURCE_GROUP --size VM_SIZE -l REGION --image APPLIANCE_IMAGE_NAME --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 VM_NAME -g RESOURCE_GROUP --port PORT_NUMBER
This table identifies what each port is used for.
端口 服务 说明 22 SSH Git over SSH 访问。 支持克隆、获取和推送操作到公共/私有仓库。 25 SMTP 支持� 密 (STARTTLS) 的 SMTP。 80 HTTP Web 应用程序访问。 当 SSL 启用时,所有请求都会重定向到 HTTPS 端口。 122 SSH 实例 shell 访问。 默认 SSH 端口 (22) 专用于应用程序 git+ssh 网络流量。 161/UDP SNMP 为网络监视协议操作所需。 443 HTTPS Web 应用程序和 Git over HTTPS 访问。 1194/UDP VPN 采用高可用性配置的安全复制网络隧道。 8080 HTTP 基于纯文本 Web 的 管理控制台。 除非手动禁用 SSL,否则不需要。 8443 HTTPS 基于安全 Web 的 管理控制台。 进行基本安装和配置时需要。 9418 Git 简单的 Git 协议端口。 仅克隆和获取操作到公共仓库。 未� 密的网络通信。 如果在实例上启用了私有模式,则仅当您也启用了匿名 Git 读取访问时才需要打开此端口。 有关详细信息,请参阅“在企业中实施存储库管理策略”。 -
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,200
), and a name for the resulting VHD.$ 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
Note: For non-production instances to have sufficient I/O throughput, the recommended minimum disk size is 150 GiB with read/write cache enabled (
--caching ReadWrite
).
Configuring the GitHub Enterprise 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 list
command. For more information, see "az vm list
" in the Microsoft documentation.$ 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
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."
-
复制虚拟机的公共 DNS 名称,然后将其粘贴到 web 浏览器中。
-
在提示时上� 许可文件并设置管理控制台密� �。 有关详细信息,请参阅“管理 GitHub Enterprise 的许可”。
-
在 管理控制台 中,配置并保存所需的设置。 For more information, see "Configuring the GitHub Enterprise Server appliance."
-
实例将自动重启。
-
单击“访问实例”。