本文经AI新媒体量子位(公众号ID:qbitai)授权转载,转载请联系出处。
本文约
2000字,
建议阅读
5
分钟。
本文为你介绍了GitHub发布了全新的软件包管理服务。
今天,GitHub发布了全新的软件包管理服务,叫GitHub Package Registry,
完全免费。
有了它,用户可以把自己的软件包传上GitHub,就像发布源码那样。
官方介绍说,这项服务和
NPM、Maven
等许多现有的包管理器都
兼容
并且,今后还会支持更多。
消息一出,网友纷纷感受到了一统天下的趋势。
有人表示
开心:
“好事啊,我现在同时用着好几个包管理器,都能放到一起来搞的话,真是诱人。”
也有不少人
担心:
“我的NPM是不是药丸?”;“看到GitHub垄断就不高兴。”
那么,这到底是一项怎样的服务?会给包管理工具的世界,带来怎样的震荡?
大一统的包管理服务
首先,Package Registry是和GitHub完全集成起来的。所以,搜索、浏览、管理工具都和从前没差别。
软件包可以和源码并肩发布,也可以使用和源码一样的权限。
团队说,下载快速稳定,是由GitHub全球CDN加持的。
现在,来具体介绍一下。
都有什么功能
在Package Registry上,你可以迅速查找公开的软件包,或者你团队内部的私有软件包。
它兼容了许多包管理应用兼容,所以可以自由选择工具,来发布自己的软件包:
JavaScript (npm) ,Java (Maven) ,Ruby (RubyGems) ,.Net (NuGet) 以及Docker images都支持。未来还会支持更多,比如Python已经在路上了。
网友焦急:下个支持Go啊
GitHub说,如果你的repo很复杂,可以发布成好几个不同类型的软件包。
以及,通过webhooks或者GitHub Actions,能够完全定制发布中和发布后的Workflow。
软件可以发布成私有,也可以公开:
大多数开源项目,源码都在GitHub上。可以把预发行版本 (Prerelease Versions) 的软件包公布出来,在社区里做测试,也可以把某个版本放到公开的Registry里去。
统一的身份和权限
如果,你用了许多不同的系统来发布代码和软件包,那就需要许多套不同的 (身份认证用的) 用户凭据和权限。
但现在在GitHub上,代码和包可以用一套用户凭据,也可以用同样的工具来管理访问权限。
GitHub上的软件包,延用了Repo的可见性 (Visibility) 和权限 (Permissions) ,这样团队就不用再跨系统去维护一个单独的Registry,以及镜像的权限了。
详细信息,知己知彼
GitHub上托管的软件包,都有详细信息、下载统计,以及完整的历史记录可以查看。
用户能明晰地了解包里都有些什么。这样一来,就更容易找到适合自己的依赖项。
而包的主人查看数据统计,便可以详细了解,其他人/其他项目都是怎样使用了自己的软件包。
你要试试么
现在,测试版已经上线了。
注册一下就可以用:
https://github.com/features/package-registry/signup
GitHub Package Resgistry是
永久免费
的。不过,团队也在周围开发一些附加功能,比如针对
安全性 (Security) 和合规性 (Compliance)
,打算日后为商业用户提供。
要变天了
软件包管理器,在开发者的世界里举足轻重。它们整合了自动安装、配制、卸载、升级等等各种环节的工具,对开源软件的环境也功勋卓著。
比如,在开发应用的过程中,可能用到许多别人写的软件包。有了包管理器,就可以直接安装软件包,省去繁复的搜索、下载代码、解压……这一系列步骤。
如今,软件包管理系统百花齐放。不同的开发环境,都有自己的包管理器。
每个管理器,有各自忠实的用户。在GitHub发布了
“大一统”
的服务之后,他们都十分关心这些管理器的将来。
比如,Maven Central就是一个重量级仓库。