注: GitHub Packages 目前正在测试用于 GitHub Enterprise Server 2.22。 要加入 您的 GitHub Enterprise Server 实例 的测试版,请使用注册表单。
关于 GitHub Packages
GitHub Packages 是一种包托管服务,与 GitHub 完全集成。 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 Packages 的权限”。
支持的客户端和格式
GitHub Packages 使用您已经熟悉的原生包工具命令来发布和安装包版本。
对包注册表的支持
语言 | 描述 | 包格式 | 包客户端 |
---|---|---|---|
JavaScript | 节点包管理器 | package.json | npm |
Ruby | RubyGems 包管理器 | Gemfile | gem |
Java | Apache Maven 项目管理和理解工具 | pom.xml | mvn |
Java | Java 的 Gradle 构建自动化工具 | build.gradle 或 build.gradle.kts | gradle |
.NET | .NET 的 NuGet 包管理 | nupkg | dotnet CLI |
不适用 | Docker 容器管理平台 | Dockerfile | Docker |
有关配置包客户端以用于 GitHub Packages 的更多信息,请参阅“使用 GitHub Packages 注册表“。
向 GitHub Packages 验证
您需要访问令牌才能发布、安装和删除 GitHub Packages 中的包。
您可以使用个人访问令牌 (PAT) 向 GitHub Packages 或 GitHub API 验证。 创建个人访问令牌时,可根据需要为令牌分配不同的作用域。 有关 PAT 与包相关的域的更多信息,请参阅“关于 GitHub Packages 的权限”。
要在 GitHub Actions 工作流程内向 GitHub Packages 注册表验证,您可以使用:
GITHUB_TOKEN
来发布与工作流程仓库相关联的包。- PAT 来安装与其他私有仓库(
GITHUB_TOKEN
无法访问)相关联的包。
有关 GitHub Actions 工作流程中使用的 GITHUB_TOKEN
的更多信息,请参阅“工作流程中的身份验证”。
管理包
您可以在 GitHub Enterprise Server 用户界面中或使用 GraphQL API 删除私有包的版本。
使用 GraphQL API 查询和删除私有包时,必须使用与向 GitHub Packages 验证时相同的令牌。 更多信息请参阅“删除包”和“使用 GraphQL 建立呼叫”。
您可以配置 web 挂钩来订阅与包相关的事件,例如包的发布或更新等事件。 更多信息请参阅“package
web 挂钩事件”。
联系支持
如果您需要对 GitHub Packages 的支持,请联系网站管理员。