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 盒子安全地托管在本地存储库中. |