软件包仓库中的 Ruby gems
- Tier: 基础版, 专业版, 旗舰版
- Offering: JihuLab.com, 私有化部署
- Status: 实验
此功能的可用性受控于功能标志。更多信息,可以查看历史。此功能仅为测试所用,还未生产就绪。
你可以将 Ruby gems 发布到项目的软件包仓库中。然后,你可以从 UI 或使用 API 下载它们。
此功能是一个实验。
认证到软件包仓库
在与软件包仓库交互之前,你必须先对其进行认证。
要做到这一点,你可以使用:
- 具有 api 范围的个人访问令牌。
- 具有 read_package_registry、write_package_registry 或两者的部署令牌。
- CI/CD 作业令牌。
例如:
使用访问令牌进行身份验证:
-
创建或编辑你的 ~/.gem/credentials 文件,并添加:
ini--- https://gitlab.example.com/api/v4/projects/<project_id>/packages/rubygems: '<token>'
在此示例中:
- <token> 必须是你的个人访问令牌或部署令牌的令牌值。
- <project_id> 显示在项目概述页面上。
推送一个 Ruby gem
先决条件:
- 你必须认证到软件包仓库。
- 你的 Ruby gem 必须小于或等于 3 GB。
要做到这一点:
-
运行类似的命令:
shellgem push my_gem-0.0.1.gem --host <host>
在此示例中,<host> 是你在设置身份验证时使用的 URL。例如:
shellgem push my_gem-0.0.1.gem --host https://gitlab.example.com/api/v4/projects/1/packages/rubygems
当 gem 成功发布时,将显示类似这样的消息:
plaintextPushing 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 文件以供本地使用。
要做到这一点:
- 在左侧边栏上,选择 搜索或转到 并找到你的项目。
- 选择 部署 > 软件包仓库。
- 选择软件包名称和版本。
- 在 资产 下,选择你要下载的 Ruby gem。
要下载 Ruby gems,你还可以使用 API。