常规配置
所有的RubyGems库都必须在路径中加上api/gems前缀
当使用RubyGems命令行通过Artifactory访问存储库时,存储库URL必须以api /宝石
在小路上。
所有RubyGems命令,包括宝石来源
和宝石推
,
必须在存储库路径前加上api /宝石
。
例如,如果你使用Artifactory独立或作为本地服务,你可以使用以下URL访问你的RubyGems库:
http://localhost:8081/artifactory/api /珠宝/<库关键>
或者,如果您正在使用Artifactory Cloud, URL将是:
https:// < server name > .jfrog.io /artifactory/api /珠宝/<库关键>
局部存储库
本地RubyGems存储库是物理的、本地管理的存储库,你可以在其中部署和管理你的内部Gems。
要创建一个本地的RubyGems存储库,在政府模块,在存储库|存储库|本地,点击新建本地存储库并设置宝石成为包装类型。
你可以这样设置一个本地的RubyGems仓库:
您需要通过修改您的~ / .gemrc
文件或使用宝石来源
命令,如下所示。您可以通过在Tree Browser中选择存储库并单击来提取源URL帮我介绍一下。
注意有两个来源。首先是远程代理,然后是本地代理。这将有效地允许您以指定的顺序从它们中检索Gems。
所有的RubyGems库都必须在路径中加上api/gems前缀
当使用RubyGems命令行通过Artifactory访问存储库时,存储库URL必须加上api /宝石
在小路上。
Gem源代码- http://localhost:8081/artifactory/api/gems/my-gems-local/
默认的文件
在创建本地RubyGems存储库时,Artifactory用以下文件集填充它,这些文件集是索引存储库所需的:
rubygems-update - * .gem
(根据宝石
存储库文件夹)快速/元帅。*
latest_specs . * . gz
prerelease_specs . * . gz
* . gz和规格。
本地RubyGems存储库显示在应用程序模块|Artifactory|工件。
使用
首先,设置适当的凭证为宝石工具:包含API密钥~ / .gem /凭证
文件或发出这个命令:
Curl http://localhost:8081/artifactory/api/gems//api/v1/api_key。Yaml -u admin:password > ~/.gem/credentials
在Linux上运行
您可能需要将凭据文件的权限更改为600 (chmod 600
)
在Windows上运行
凭据文件位于% USERPROFILE % / .gem /凭证
您还需要将API密钥编码设置为“ASCII”。例如:
旋度http://localhost: 8081 / artifactory / api /珠宝/ <库关键> / api / v1 / api_key。输出文件~/。宝石/凭证-Encoding "ASCII"
要在配置与JFrog Artifactory相对的RubyGems客户端时使用电子邮件地址作为用户名,请替换@符号在地址中使用HTTP编码% 40例如:公关% 40 www.si-fil.com
。这将阻止您接收以下消息:错误:当执行gem…(URI:: InvalidURIError)
。
API密钥
您可以手动修改凭据文件并添加不同的API密钥。稍后可以使用宝石按-k键
选择相关的API密钥。
为了…推Gems到本地存储库时,可以设置全局变量RUBYGEMS_HOST美元
使用如下命令指向本地存储库:
export RUBYGEMS_HOST=http://localhost:8081/artifactory/api/gems/<存储库密钥>
要获得此值,请选择您的存储库的应用程序模块|Artifactory|工件|Gems-local和点击帮我介绍一下。
或者你也可以使用宝石推
命令——主机
,或者,——关键
指定相关的API密钥。
确保你熟悉你的有效来源和他们的顺序,如指定的~ / .gemrc
文件。
此外,请确保熟悉全局变量RUBYGEMS_HOST美元
变量宝石推
命令,或使用推动——主机
选择。
当首次创建本地存储库时,将使用rubygems-update - * .gem
默认情况下。要禁用此行为,必须更改系统属性包括:artifactory.gems.gemsAfterRepoInitHack = false
确保部署到“gems”文件夹
当将Gems部署到存储库时,您需要将它们放在Gems文件夹中,以便Artifactory将它们包含在索引计算中。
远程存储库
远程RubyGems存储库作为远程URL管理的存储库的缓存代理,例如http://rubygems.org。
一旦被请求,工件(Gems)就会按需缓存。然后可以删除它们,但不能手动将任何内容部署到远程存储库中。
要创建远程RubyGems存储库,执行以下步骤:
- 在政府模块,在仓库|仓库|远程,点击新建远程存储库并设置宝石成为包装类型。
- 设置库的关键,并指定URL到远程存储库。下面的示例引用了rubygems.org。
使用
- 在Application模块| Artifactory | Artifacts Tree Browser中,选择新创建的存储库并单击帮我介绍。
- 文件中复制源URLRubyGems来源部分。
添加此URL
~ / .gemrc
文件或使用宝石来源
命令如下:所有的RubyGems库都必须在路径中加上api/gems前缀
当使用RubyGems命令行通过Artifactory访问存储库时,存储库URL必须以
api /宝石
在小路上。Gem源代码- http://localhost:8081/artifactory/api/gems/rubygems/
你可以使用的其他Gem命令
可以通过修改您的~ / .gemrc
手动或运行文件Gem资源-r
你也可以运行宝石来源-列表
知道你的有效资源是什么以及它们的顺序。
克服未授权状态失败
一些gem/bundler命令可能会在未授权(401)状态下失败。在某些情况下,这些可以通过使用一个下列选项之一:
- 通过勾选启用“匿名用户”允许匿名访问在安全常规配置如管理用户所述。
- 创建一个专门的允许目标这只允许匿名访问远程存储库。
使用带有嵌入式凭据的源URL,例如:宝石来源
-一个http://用户:password@host
/ . .
。
虚拟存储库
一个虚拟的RubyGems存储库(或“存储库组”)可以聚合多个本地和远程的RubyGems存储库,将它们无缝地暴露在一个URL下。
存储库是虚拟的,因为您可以从中解析和检索工件,但不能向其中部署任何内容。更多信息请参考虚拟存储库。
设置虚拟存储库的过程与设置本地或远程存储库非常相似,但是作为最后一步,您需要选择将包含在正在创建的虚拟存储库中的存储库。
使用
使用虚拟的RubyGems存储库,你可以聚合本地和远程存储库。
您需要设置正确的存储库源URL,方法与使用对于本地的RubyGems存储库,只需使用合适的存储库密钥,如下所示:
来源:http://localhost: 8081 / artifactory / api /珠宝/ <库关键> /
目标:http://localhost: 8081/ / artifactory / api /宝石<库关键>(结尾没有斜杠!)
使用REST API
REST API通过以下URL提供了对Gems插件的访问:
http://localhost:8081/artifactory/api /宝石/ <库关键> /
除了基本的二进制存储库操作(如下载、部署、删除等)之外后RubyGems.org支持API Gem命令:
Gem命令 |
Curl语法示例 |
讲话 |
---|---|---|
信息 | 旋度http://localhost:8081/artifactory/api /宝石/ <代表ository关键>/ api / v1 /珠宝/ my_gem。(json xml | | yaml) |
可选地指定JSON / XML / YAML(默认:JSON) |
搜索 | 旋度http://localhost:8081/artifactory/api /宝石/ <库关键> / api / v1 /搜索。(json xml | | yaml) ?查询=[查询] |
将搜索宝石名称包含查询 |
依赖关系 | 旋度http://localhost:8081/artifactory/api /宝石/ <库关键> / api / v1 /依赖性?宝石= (gem1,……) |
的值使用gem名称的csv格式宝石 |
猛地一拉 |
|
删除来自存储库的特定gem文件 |
索引是由Artifactory在后台自动完成的,但是如果您仍然需要重新创建或更新规范索引文件,以下REST API命令也可用:
其他命令 |
Curl语法示例 |
讲话 |
---|---|---|
重建索引 | curl -X POSThttp://localhost:8081/artifactory/api /宝石/ <库关键> /重建索引 |
重新创建所有规格索引文件。 |
更新索引 | curl -X POSThttp://localhost:8081/artifactory/api /宝石/ <库关键> / updateIndex |
如果需要,更新所有规格索引文件。 |
查看RubyGems工件信息
如果您在树浏览器中选择一个RubyGems工件,您可以选择RubyGems选项卡查看所选工件的详细信息。
获取与您的Ruby版本兼容的最新RubyGems包
Bundler Compact Index功能允许您检索与项目中安装的Ruby版本兼容的最新RubyGems版本,适用于本地、远程和虚拟存储库。
要应用此特性,请设置artifactory.gems.compact.index.enabled = true
的值artifactory.system.properties
文件。