2019.5.10,GitHub退出了一项名为GitHub Package Registry包管理服务,可以方便地伴随着源代码发布公共或私有包。
GitHub Package Registry与GitHub完全集成,可以使用与仓库相同的搜索、浏览和管理工具来查找和发布包,还可以使用相同的用户和团队权限一起管理代码和包。通过 GitHub 的全球 CDN 提供了快速和可靠的下载服务。
GitHub Package Registry支持大众熟知的包管理工具,如JavaScript (npm)、Java (Maven)、Ruby(RubyGems)、. net (NuGet)和Docker images,后续还会支持更多。
现在可以尝试GitHub Package Registry的测试版。
收费方面,GitHub 表示将永远面向开源免费,更多的定价细节将很快公布。
Packages, together, with your code(Package与Code同在)
处理一个有依赖于包的项目时,信任它们、理解它们的代码并与构建它们的社区建立联系非常重要。在组织内部,您需要能够快速找到已批准使用的内容。GitHub Package Registry使用熟悉的GitHub接口在GitHub上查找公共包,或者在您的组织或仓库中查找私有包,这让一切变得很简单。
GitHub Package Registry兼容常见的包管理客户端,因此您可以使用您选择的工具发布包。如果您的仓库更复杂,您将能够发布多个不同类型的包。而且,使用webhook或GitHub Actions,您可以完全定制发布和发布后工作流。
发布一个开源包?大多数开源项目的代码都在GitHub上,因此您可以发布包的预发布版本,以便在社区内进行测试,然后轻松地将特定版本提交到您选择的公共注册中心。
Unified identity and permissions(统一的标识与权限)
如果代码和包使用不同的系统,那么必须维护不同的用户凭证和权限集。现在,你可以可以统一两者,使用一组凭证,并使用相同的工具管理访问权限。GitHub上的包继承了与仓库相关联的可见性和权限,组织不再需要跨系统维护单独的包注册表和镜像权限。
Package insights(包的洞察)
托管在GitHub上的Package包含了详细信息和下载统计数据,以及它们的整个历史记录,因此您确切地知道包含了什么。很容易找到并使用正确的包作为项目的依赖项,并提升信心,使开发者相信它只包含所宣传的内容。通过对发布的包的更多了解,可以确切地了解其他人和仓库如何使用它们。
说明:
以上内容基于https://github.blog/2019-05-10-introducing-github-package-registry/ 翻译而来。