Skip to main content

为企业配置包生态系统支持

可通过全局启用或禁用企业的单个包生态系统(包括 Container registry、Docker 和 npm),为企业配置 GitHub Packages。 了解支持特定包生态系统的其他配置要求。

谁可以使用此功能?

Site administrators can enable GitHub Packages and configure enterprise settings.

关于包生态系统支持

可以选择要在 你的 GitHub Enterprise Server 实例 上启用、禁用或设置为只读的包生态系统。 可用选项包括 Container registry、Docker、RubyGems、npm、Apache Maven、Gradle 或 NuGet。

先决条件

必须先为实例启用和配置 GitHub Packages,然后才能配置单个包生态系统。 有关详细信息,请参阅“企业 GitHub Packages 使用入门”。

启用或禁用单个包生态系统

要防止上传新包,可以将以前启用的生态系统设置为“只读”,同时仍允许下载现有包。

  1. 在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击

  2. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。

  3. 在“ 站点管理”边栏中,单击“管理控制台”。

  4. 在左侧边栏中,单击“包”。

  5. 在“生态系统切换”下,对于每个包类型,选择“已启用”、“只读”或“已禁用”。

    注意:必须启用子域隔离才能切换 Container registry 选项。
    管理控制台的“设置”页上“生态系统切换”部分的屏幕截图。

  6. 在“设置”边栏下,单击“保存设置”。

    注意:保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。

  7. 等待配置运行完毕。

连接到官方 npm 注册表

如果您已在企业中启用了 npm 包,并希望允许访问官方 npm 注册表以及 GitHub Packages npm 注册表,则必须执行一些附加配置。

GitHub Packages 使用透明的网络流量代理连接到 registry.npmjs.com 上的官方 npm 注册表。 代理在默认情况下已启用,不能禁用。

要允许与 npm 注册表之间的网络连接,需要配置网络 ACL,以允许 GitHub Enterprise Server 通过端口 443/TCP 将 HTTPS 流量发送到 registry.npmjs.com

请注意,与 registry.npmjs.com 的连接遍历 Cloudflare 网络,但此后不连接至单个静态 IP 地址;而是连接到此处列出的 CIDR 范围内的 IP 地址: https://www.cloudflare.com/ips/

如果要启用 npm 上游源,请为 npm upstreaming 选择 Enabled

后续步骤

下一步,我们建议您检查是否需要更新或上传包主机 URL 的 TLS 证书。 有关详细信息,请参阅“企业 GitHub Packages 使用入门”。