软件包仓库中的 Ruby gems

  1. Tier: 基础版, 专业版, 旗舰版
  2. Offering: JihuLab.com, 私有化部署
  3. Status: 实验
History
    • 引入于极狐GitLab 13.9,使用名为 rubygem_packages功能标志。默认禁用。此功能是一个实验功能。

此功能的可用性受控于功能标志。更多信息,可以查看历史。此功能仅为测试所用,还未生产就绪。

你可以将 Ruby gems 发布到项目的软件包仓库中。然后,你可以从 UI 或使用 API 下载它们。

此功能是一个实验

认证到软件包仓库#

在与软件包仓库交互之前,你必须先对其进行认证。

要做到这一点,你可以使用:

  1. 具有 api 范围的个人访问令牌
  2. 具有 read_package_registrywrite_package_registry 或两者的部署令牌
  3. CI/CD 作业令牌

例如:

使用访问令牌进行身份验证:

  • 创建或编辑你的 ~/.gem/credentials 文件,并添加:

    ini
    --- https://gitlab.example.com/api/v4/projects/<project_id>/packages/rubygems: '<token>'

在此示例中:

  • <token> 必须是你的个人访问令牌或部署令牌的令牌值。
  • <project_id> 显示在项目概述页面上。

推送一个 Ruby gem#

先决条件:

要做到这一点:

  • 运行类似的命令:

    shell
    gem push my_gem-0.0.1.gem --host <host>

    在此示例中,<host> 是你在设置身份验证时使用的 URL。例如:

    shell
    gem push my_gem-0.0.1.gem --host https://gitlab.example.com/api/v4/projects/1/packages/rubygems

当 gem 成功发布时,将显示类似这样的消息:

plaintext
Pushing gem to https://gitlab.example.com/api/v4/projects/1/packages/rubygems... {"message":"201 Created"}

该 gem 被发布到你的软件包仓库,并显示在软件包和仓库页面上。极狐GitLab 处理和显示你的 gem 最多可能需要 10 分钟。

推送具有相同名称或版本的 gems#

如果已存在具有相同名称和版本的软件包,你可以推送一个 gem。两者在 UI 中都是可见和可访问的。

下载 gems#

你不能从极狐GitLab 的软件包仓库中安装 Ruby gems。但是,你可以下载 gem 文件以供本地使用。

要做到这一点:

  1. 在左侧边栏上,选择 搜索或转到 并找到你的项目。
  2. 选择 部署 > 软件包仓库
  3. 选择软件包名称和版本。
  4. 资产 下,选择你要下载的 Ruby gem。

要下载 Ruby gems,你还可以使用 API

  1. 制作你自己的 gem
  2. Ruby gems API 文档