GitLab Package Registry
- View packages
 - Use GitLab CI/CD to build packages
 - Download a package
 - Delete a package
 - Disable the Package Registry
 - Package workflows
 - Suggested contributions
 
GitLab Package Registry
借助 GitLab 软件包注册表,您可以将 GitLab 用作各种常见软件包管理器的私有或公共存储库. 您可以构建和发布程序包,这些程序包可以很容易地作为下游项目中的依赖项使用.
GitLab 充当以下内容的存储库:
| 软件库 | Description | 在 GitLab 版本中可用 | 
|---|---|---|
| Container Registry | GitLab 容器注册表使 GitLab 中的每个项目都有自己的空间来存储Docker映像. | 8.8+ | 
| Dependency Proxy | GitLab 依赖代理为经常使用的上游映像/软件包设置了本地代理. | 11.11+ | 
| Conan Repository | GitLab 柯南存储库使 GitLab 中的每个项目都有自己的空间来存储柯南软件包. | 12.6+ | 
| Maven Repository | GitLab Maven 存储库使 GitLab 中的每个项目都有自己的空间来存储Maven软件包. | 11.3+ | 
| NPM Registry | GitLab NPM 注册表使 GitLab 中的每个项目都有自己的空间来存储NPM软件包. | 11.7+ | 
| NuGet Repository | GitLab NuGet 存储库将使 GitLab 中的每个项目都有自己的空间来存储NuGet软件包. | 12.8+ | 
| PyPi Repository | GitLab PyPi 存储库将使 GitLab 中的每个项目都有自己的空间来存储PyPi软件包. | 12.10+ | 
| Go Proxy | GitLab 的 Go 代理使 GitLab 中的每个项目都可以通过Go 代理协议获取. | 13.1+ | 
| Composer Repository | GitLab Composer 存储库将使 GitLab 中的每个项目都有自己的空间来存储Composer软件包. | 13.2+ | 
View packages
您可以查看项目或组的软件包.
- 转到项目或组.
 - 去 程序包和注册表>程序包注册表 .
 
您可以在此页面上搜索,排序和过滤软件包.
有关如何创建和上传软件包的信息,请查看您的软件包类型的 GitLab 文档.
Use GitLab CI/CD to build packages
您可以使用GitLab CI / CD来构建软件包. 对于 Maven 和 NPM 软件包以及 Composer 依赖项,可以使用CI_JOB_TOKEN向 GitLab 进行身份验证.
CI / CD 模板,你可以用它来上手,在此回购 .
了解有关使用 CI / CD 构建 Maven 软件包和NPM 软件包的更多信息 .
如果使用 CI / CD 构建软件包,则在查看软件包详细信息时会显示扩展的活动信息:
您可以查看哪个管道发布了程序包,以及触发该程序包的提交和用户.
Download a package
要下载软件包:
- 去 程序包和注册表>程序包注册表 .
 - 单击您要下载的软件包的名称.
 - 在" 活动"部分中,单击要下载的程序包的名称.
 
Delete a package
在程序包注册表中发布程序包后,您将无法对其进行编辑. 相反,您必须删除并重新创建它.
您可以使用API或 UI 删除软件包.
要在用户界面中删除程序包:
- 去 程序包和注册表>程序包注册表 .
 - 查找您要删除的程序包的名称.
 - Click Delete.
 
该软件包将被永久删除.
Disable the Package Registry
程序包注册表自动启用.
如果您使用的是 GitLab 的自我管理实例,则管理员可以删除菜单项, 软件包和注册表 ,位于 GitLab 侧边栏. 有关更多信息,请参阅管理文档 .
您还可以专门删除项目的 Package Registry:
- 在您的项目中,转到 设置>常规 .
 - 展开" 可见性","项目功能","权限"部分,并禁用" 软件包"功能.
 - Click Save changes.
 
的 Packages&Registries> Package Registry条目已从侧栏中删除.
Package workflows
了解如何使用 GitLab 软件包注册表来构建自己的自定义软件包工作流程.
- 使用项目作为程序包注册表将所有程序包发布到一个项目.
 - 从一个monorepo 项目发布多个不同的软件包.
 
Suggested contributions
考虑为 GitLab 做贡献. 此开发文档将指导您完成该过程. 或者查看社区的其他成员如何添加对PHP或Terraform 的支持.
| Format | 用例 | 
|---|---|
| Cargo | Cargo 是 Rust 的包裹经理. 构建,发布和共享 Rust 包 | 
| Chef | 使用 Chef 的配置管理,利用存储库管理器的所有优点. | 
| CocoaPods | 使用 Xcode 和 CocoaPods 加快开发速度. | 
| Conda | 安全和私有的本地 Conda 存储库. | 
| CRAN | 部署和解析 R 语言的 CRAN 软件包. | 
| Debian | 托管和设置 Debian 软件包. | 
| Opkg | 使用 Opkg 存储库优化 OpenWrt 的工作. | 
| P2 | 将所有 Eclipse 插件托管在自己的 GitLab P2 存储库中. | 
| Puppet | 配置管理通过 Puppet 存储库满足存储库管理. | 
| RPM | 直接从 GitLab 分发 RPM. | 
| RubyGems | 使用 GitLab 托管您自己的宝石. | 
| SBT | 运行 SBT 构建时,解析来自 SBT 存储库的依赖性并将构建输出部署到 SBT 存储库. | 
| Vagrant | 将您的 Vagrant 盒子安全地托管在本地存储库中. | 
