Skip to main content
我们经常发布文档更新,此页面的翻译可能仍在进行中。 有关最新信息,请访问英语文档

此版本的 GitHub Enterprise 已停止服务 2023-03-15. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

GitHub Packages 简介

GitHub Packages 是一项软件包托管服务,允许您私下为指定的用户托管您的软件包或公开托管,以及在您的项目中使用软件包作为依赖项。

GitHub Packages 适用于 GitHub Free、GitHub Pro、面向组织的 GitHub Free、GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 3.0 或更高版本以及 GitHub AE。 有关升级 GitHub Enterprise Server 实例更多信息,请参阅“关于升级至新版本”和 升级助手以从你当前的发布版本中查找升级路径。

关于 GitHub Packages

GitHub Packages 是一个用于托管和管理包的平台,包括容器和其他依赖项。 GitHub Packages 将源代码和包组合在一起,以提供集成的权限管理,使你能够在 GitHub Enterprise Server 上专注于软件开发。

您可以将 GitHub Packages 与 GitHub Enterprise Server API、GitHub Actions 以及 web 挂钩集成在一起,以创建端到端的 DevOps 工作流程,其中包括您的代码、CI 和部署解决方案。

GitHub Packages 为常用的包管理器提供不同的包注册表,例如 npm、RubyGems、Apache Maven、Gradle、Docker 和 Nuget。 有关 GitHub Packages 支持的不同包注册表的详细信息,请参阅“使用 GitHub Packages 注册表”。

您可以在 GitHub Enterprise Server 上查看包的自述文件、元数据(如许可)、下载统计、版本历史记录等。 有关详细信息,请参阅“查看包”。

若要详细了解 GitHub Enterprise Server 上的 GitHub Packages 配置,请参阅“企业 GitHub Packages 使用入门”。

包权限概述

每个包都继承托管包的存储库的权限。

例如,对存储库有读取权限的任何人都可以将包安装为项目中的依赖项,具有写入权限的任何人都可以发布新的包版本。

包可见性概述

可以在公共存储库存储库中发布包(公共包)以与企业中每个人共享,或者在专用存储库(专用包)中与协作者或组织共享。

支持的客户端和格式

GitHub Packages 使用您已经熟悉的原生包工具命令来发布和安装包版本。

对包注册表的支持

语言说明包格式包客户端
JavaScript节点包管理器package.jsonnpm
RubyRubyGems 包管理器Gemfilegem
JavaApache Maven 项目管理和理解工具pom.xmlmvn
JavaJava 的 Gradle 构建自动化工具build.gradlebuild.gradle.ktsgradle
.NET.NET 的 NuGet 包管理nupkgdotnet CLI
空值Docker 容器管理平台DockerfileDocker

注意:启用 Docker 注册表时,我们强烈建议还启用子域隔离。 有关详细信息,请参阅“启用子域隔离”。

有关配置包客户端以结合使用 GitHub Packages 的详细信息,请参阅“使用 GitHub Packages 注册表”。

向 GitHub Packages 验证

需要访问令牌才能发布、安装和删除专用、内部和公共包。

可使用 personal access token 向 GitHub Packages 或 GitHub Enterprise Server API 进行身份验证。 创建 personal access token 时,可根据需要为令牌分配不同的作用域。 有关 personal access token 的包相关范围的详细信息,请参阅“关于 GitHub Packages 的权限”。

要在 GitHub Actions 工作流程内向 GitHub Packages 注册表验证,您可以使用:

  • GITHUB_TOKEN 发布与工作流存储库相关联的包。
  • 范围至少为 read:packages 的 personal access token,用于安装与其他专用存储库(GITHUB_TOKEN 无法访问)关联的包。

有关 GitHub Actions 工作流中使用的 GITHUB_TOKEN 的详细信息,请参阅“自动令牌身份验证”。

管理包

可以在 GitHub Enterprise Server 用户界面中删除包. 你可以使用 GraphQL 删除专用包的版本。

使用 GraphQL API 查询和删除专用包时,必须使用向 GitHub Packages 验证时使用的同一 personal access token。

有关详细信息,请参阅 “删除和恢复包”和 “使用 GraphQL 建立调用”。

您可以配置 web 挂钩来订阅与包相关的事件,例如包的发布或更新等事件。 有关详细信息,请参阅“Webhook 事件和有效负载”。

联系支持部门

如果你需要有关 GitHub Packages 的支持,请联系网站管理员。