GitLab Package Registry

原文:https://docs.gitlab.com/ee/user/packages/

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

您可以查看项目或组的软件包.

  1. 转到项目或组.
  2. 程序包和注册表>程序包注册表 .

您可以在此页面上搜索,排序和过滤软件包.

有关如何创建和上传软件包的信息,请查看您的软件包类型的 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 构建软件包,则在查看软件包详细信息时会显示扩展的活动信息:

Package CI/CD activity

您可以查看哪个管道发布了程序包,以及触发该程序包的提交和用户.

Download a package

要下载软件包:

  1. 程序包和注册表>程序包注册表 .
  2. 单击您要下载的软件包的名称.
  3. 在” 活动”部分中,单击要下载的程序包的名称.

Delete a package

在程序包注册表中发布程序包后,您将无法对其进行编辑. 相反,您必须删除并重新创建它.

  • 您无法从组视图中删除软件包. 您必须改为从项目视图中删除它们. 有关详细信息,请参见此问题 .
  • 您必须具有适当的权限 .

您可以使用API或 UI 删除软件包.

要在用户界面中删除程序包:

  1. 程序包和注册表>程序包注册表 .
  2. 查找您要删除的程序包的名称.
  3. Click Delete.

该软件包将被永久删除.

Disable the Package Registry

程序包注册表自动启用.

如果您使用的是 GitLab 的自我管理实例,则管理员可以删除菜单项, 软件包和注册表 ,位于 GitLab 侧边栏. 有关更多信息,请参阅管理文档 .

您还可以专门删除项目的 Package Registry:

  1. 在您的项目中,转到 设置>常规 .
  2. 展开” 可见性”,”项目功能”,”权限”部分,并禁用” 软件包”功能.
  3. Click Save changes.

Packages&Registries> Package Registry条目已从侧栏中删除.

Package workflows

了解如何使用 GitLab 软件包注册表来构建自己的自定义软件包工作流程.

Suggested contributions

考虑为 GitLab 做贡献. 此开发文档将指导您完成该过程. 或者查看社区的其他成员如何添加对PHPTerraform 的支持.

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