基本要求
- 您必须拥有 GitHub Enterprise 许可文件。 更多信息请参阅“设置 GitHub Enterprise Server 试用版”和“关于 GitHub Enterprise 许可证”。
- 您必须具有能够启动 Google Compute Engine (GCE) 虚拟机 (VM) 实例的 Google Cloud Platform 帐户。 更多信息请参阅 Google Cloud Platform 网站和 Google Cloud Platform 文档。
- 启动实例所需的大部分操作也可以使用 Google Cloud Platform Console 执行。 不过,我们建议安装 gcloud compute 命令行工具进行初始设置。 下文介绍了使用 gcloud compute 命令行工具的示例。 更多信息请参阅 Google 文档中的“gcloud compute”安装和设置指南。
硬件考量� �
Minimum requirements
We recommend different hardware configurations depending on the number of user licenses for 您的 GitHub Enterprise Server 实例. If you provision more resources than the minimum requirements, your instance will perform and scale better.
User licenses | vCPUs | Memory | Attached storage | Root storage |
---|---|---|---|---|
Trial, demo, or 10 light users | 4 | 32 GB | 150 GB | 200 GB |
10 to 3,000 | 8 | 48 GB | 300 GB | 200 GB |
3,000 to 5000 | 12 | 64 GB | 500 GB | 200 GB |
5,000 to 8000 | 16 | 96 GB | 750 GB | 200 GB |
8,000 to 10,000+ | 20 | 160 GB | 1000 GB | 200 GB |
If you plan to enable GitHub Actions for the users of your instance, more resources are required.
vCPU | 内存 | 最大作业吞吐量 |
---|---|---|
4 | 32 GB | 演示或轻量测试 |
8 | 64 GB | 25 个作业 |
16 | 160 GB | 35 个作业 |
32 | 256 GB | 100 个作业 |
For more information about these requirements, see "Getting started with GitHub Actions for GitHub Enterprise Server."
有关为现有实例调整资源的更多信息,请参阅“增� 存储容量”和“增� 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."
确定机器类型
在 Google Cloud Platform 上启动 您的 GitHub Enterprise Server 实例 之前,您需要确定最符合您的组织需求的机器类型。 要查看 GitHub Enterprise Server 的最低要求,请参阅“最低要求”。
注意:您可以随时通过调整实例大小来扩展 CPU 或内存。 但由于调整 CPU 或内存的大小需要对用户停机,� 此我们建议超配资源来应对扩展。
GitHub 建议对 GitHub Enterprise Server 使用通用高内存设备。 更多信息请参阅 Google Compute Engine 文档中的“设备类型”。
选择 GitHub Enterprise Server � 像
-
使用 gcloud compute 命令行工具列出公共 GitHub Enterprise Server � 像:
$ gcloud compute images list --project github-enterprise-public --no-standard-images
-
记下 GitHub Enterprise Server 最新 GCE � 像的� 像名称。
配置防火墙
GCE 虚拟机作为具有防火墙的网络的成员创建。 对于与 GitHub Enterprise Server VM 关联的网络,您需要将防火墙配置为允许下表中列出的必需端口。 更多关于 Google Cloud Platform 上防火墙规则的信息,请参阅 Google 指南“防火墙规则概述”。
-
使用 gcloud compute 命令行工具创建网络。 更多信息请参阅 Google 文档中的“gcloud compute networks create”。
$ gcloud compute networks create NETWORK-NAME --subnet-mode auto
-
为下表中的各个端口创建防火墙规则。 更多信息请参阅 Google 文档中的“gcloud compute firewall-rules”。
$ 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
此表列出了必需端口以及各端口的用途。
端口 服务 描述 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 读取访问时才需要打开此端口。 更多信息请参阅“在企业中实施仓库管理策略”。
分配静态 IP 并将其分配给 VM
如果此设备为生产设备,强烈建议保留静态外部 IP 地址并将其分配给 GitHub Enterprise Server VM。 否则,重新启动后将不会保留 VM 的公共 IP 地址。 更多信息请参阅 Google 指南“保留静态外部 IP 地址”。
在生产高可用性配置中,主设备和副本设备均应获得单独的静态 IP 地址。
创建 GitHub Enterprise Server 实例
要创建 GitHub Enterprise Server 实例,您需要使用 GitHub Enterprise Server � 像创建 GCE 实例并连接额外的存储卷来存储实例数据。 更多信息请参阅“硬件考量� � ”。
-
使用 gcloud compute 命令行工具,创建数据磁盘,将其用作您的实例数据的附� 存储卷,并� �据用户许可数配置大小。 更多信息请参阅 Google 文档中的“gcloud compute disks create”。
$ gcloud compute disks create DATA-DISK-NAME --size DATA-DISK-SIZE --type DATA-DISK-TYPE --zone ZONE
-
然后,使用所选 GitHub Enterprise Server � 像的名称创建实例,并连接数据磁盘。 更多信息请参阅 Google 文档中的“gcloud compute ”。
$ 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
配置实例
- 复制虚拟机的公共 DNS 名称,然后将其粘贴到 web 浏览器中。
- 在提示时上� 许可文件并设置管理控制台密� �。 更多信息请参阅“管理 GitHub Enterprise 的许可”。
- 在 管理控制台 中,配置并保存您所需的设置。 更多信息请参阅“配置 GitHub Enterprise Server 设备”。
- 实例将自动重启。
- 单击 Visit your instance(访问您的实例)。