GitHub Package Registry是一个软件包托管服务,类似于npmjs.org、rubygems.org或hub.docker.com,允许将包和代码托管在同一个地方。可以私下或公开地托管软件包,并将它们作为项目中的依赖项使用。
About GitHub Package Registry
GitHub Package Registry允许开发代码并将包托管在同一个地方。您可以使用来自GitHub Package Registry的包作为源代码中的依赖。
GitHub使用仓库中的README生成包的描述,可以编辑它来反映包或安装过程的细节。GitHub为每个包版本添加元数据,其中包括指向作者、存储库、提交SHA、版本标记和日期的链接。要查看GitHub Package Registry示例页面,请参见@Codertocat/hello-world-npm 包。
以下是一些GitHub Package Registry如何使你的工作流程受益的例子:
Secure and compliant(安全和兼容):一次登录,在相同的安全环境中开发、维护和存储包。
Private and public software packages(私有软件包和公共软件包):您可以私有地托管软件包,也可以将它们公开。你可以私下托管软件包,与同事或组织分享,或者向全世界公开。
Unified permissions management(统一权限管理):GitHub Package Registry继承了仓库的权限,整合了设置和维护,降低了安全风险。
Multi-format(多格式):您可以在一个注册表中托管多个软件包类型。
Visibility into packages(包的可见性):通过查看包内容、下载统计数据、版本历史记录等了解包。
Workflow integration(工作流集成):通过集成GitHub api、GitHub Actions和webhook,创建一个端到端的DevOps工作流,其中包括代码、CI和部署解决方案。
Supported clients and formats
GitHub Package Registry使用熟悉的本地包工具命令去发布、查询、下载和更改包版本。
GitHub Package Registry目前支持下面列举的客户端和格式。
| Package client | Package format | Description |
| :------------------: | :---------------------: | :--------------: |
| npm | package.json | Node Package Manager for JavaScript. For more information, see "Configuring npm for use with GitHub Package Registry." |
| gem| Gemfile | Ruby Gem Package manager for Ruby. For more information, see "Configuring RubyGems for use with GitHub Package Registry." |
| mvn | pom.xml | Maven Project management and comprehension tool for Java. For more information, see "Configuring Maven for use with GitHub Package Registry." |
| docker | container | Docker container management platform. For more information, see "Configuring Docker for use with GitHub Package Registry." |
| nuget | nupkg | NuGet package management for .NET. For more information, see "Configuring NuGet for use with GitHub Package Registry." |
Searching packages on GitHub
您可以通过导航到https://github.com/search并输入包名来搜索GitHub上的包。
要查看GitHub Package Registry的包,请单击左边栏中的packages。