使用最新版本?
JFrog平台用户指南
JFrog Artifactoryx文档
要获得最新版本,请访问JFrog统一平台
常规配置
所有RubyGems存储库必须在路径中添加api/gems前缀
当使用RubyGems命令行通过Artifactory访问存储库时,存储库URL必须加上前缀api /宝石在路上。
所有RubyGems命令,包括宝石来源
而且宝石推
,
必须在存储库路径前面加上api /宝石
.
例如,如果你单独使用Artifactory或作为本地服务,你可以使用下面的URL访问你的RubyGems存储库:
http://localhost:8081/artifactory/api /珠宝/<库关键>
或者,如果您正在使用Artifactory SaaS, URL将是:
https:// < server name > .jfrog。io / <服务器名> /api /珠宝/<库关键>
使用Artifactory 3.4.1及以下版本的RubyGems存储库,以及Java 7更新40或更高版本
局部存储库
本地RubyGems存储库是物理的、本地管理的存储库,您可以在其中部署和管理您的内部Gems。
要创建本地RubyGems存储库,请在管理模块,在存储库|本地,点击“新”并设置RubyGems成为包装类型。
你可以设置一个本地RubyGems存储库,如下所示:
您需要通过修改您的~ / .gemrc
文件或使用宝石来源
命令,如下所示。属性中的存储库可以提取源URL树浏览器并单击给我介绍。
注意,这里有两个来源。首先是远程代理,然后是本地代理。这将有效地允许您以指定的顺序从它们中检索Gems。
所有RubyGems存储库必须在路径中添加api/gems前缀
当使用RubyGems命令行通过Artifactory访问存储库时,必须在存储库URL前加上api /宝石在路上。
宝石来源-a http://localhost:8081/artifactory/api/gems/my-gems-local/
默认的文件
在创建Local RubyGems存储库时,Artifactory会用以下文件来填充它,这些文件是为存储库建立索引所必需的:
- rubygems-update - * .gem(created under the
宝石
存储库的文件夹) - 快速/元帅。*
- latest_specs . * . gz
- prerelease_specs . * . gz
- * . gz和规格。
下面的截图显示了一个新创建的本地RubyGems存储库的外观:
使用
首先,设置适当的凭证为宝石工具中包含API键~ / .gem /凭证
文件或发出这个命令:
Curl http://localhost:8081/artifactory/api/gems//api/v1/api_key. Curl http://localhost:8081/artifactory/api/gems/ /api/v1/api_key. CurlYaml -u admin:密码> ~/.gem/credentials
在Linux上运行
您可能需要将凭据文件的权限更改为600 (chmod 600
)
在Windows上运行
凭据文件位于% USERPROFILE % / .gem /凭证
您还需要将API密钥编码设置为“ASCII”。例如:
旋度http://localhost:8081/artifactory/api/gems/<库关键> / api / v1 / api_key。yaml |输出文件~/。宝石/credentials -Encoding "ASCII"
API密钥
您可以手动修改凭据文件并添加不同的API密钥。您可以稍后使用宝石按-k键
以选择相关的API密钥。
为了推Gems到本地存储库后,可以设置全局变量RUBYGEMS_HOST美元
指向本地存储库,如下所示:
export RUBYGEMS_HOST=http://localhost:8081/artifactory/api/gems/<存储库密钥>
要获得此值,请在的树浏览器而且点击给我介绍。
或者你也可以使用宝石推
命令——主机
,可选地,——关键
来指定相关的API键。
确保你熟悉你的有效来源和他们的顺序在指定的~ / .gemrc
文件。
另外,确保你熟悉你的全局RUBYGEMS_HOST美元
变量宝石推
命令或使用推动——主机
选择。
第一次创建本地存储库时,将使用rubygems-update - * .gem
默认情况下。要禁用此行为,必须更改系统属性包括:artifactory.gems.gemsAfterRepoInitHack = false
确保部署到“gems”文件夹
在将Gems部署到存储库时,需要将它们放在Gems文件夹中,以便Artifactory在索引计算中包含它们。
远程存储库
远程RubyGems存储库作为一个缓存代理,用于在远程URL(例如http://rubygems.org.
一旦请求,工件(Gems)将根据需要缓存。然后可以删除它们,但不能手动将任何东西部署到远程存储库中。
要创建远程RubyGems存储库,请执行以下步骤:
- 在管理模块,在存储库|远程,点击“新”并设置RubyGems成为包装类型。
- 设置库的关键,并指定URL到远程存储库。下面的示例参考rubygems.org.
使用
- 在树浏览器,选择新创建的存储库,单击给我介绍.
- 类复制源URLRubyGems来源部分。
通过修改您的
~ / .gemrc
文件或使用宝石来源
命令如下:所有RubyGems存储库必须在路径中添加api/gems前缀
当使用RubyGems命令行通过Artifactory访问存储库时,存储库URL必须加上前缀api /宝石在路上。
宝石来源-a http://localhost:8081/artifactory/api/gems/rubygems/
你可以使用额外的Gem命令
您可以通过修改您的~ / .gemrc
手动或运行文件宝石来源-r
你也可以跑Gem来源——列表
要知道你的有效来源是什么以及它们的顺序。
克服未经授权的状态失败
虚拟存储库
虚拟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,……) | 的值使用一个csv格式的gem名称宝石 |
猛地一拉 | curl -X DELETEhttp://localhost:8081/artifactory/api /宝石/ <库关键> /api / v1 /猛拉 - d ' gem_name =gem_name' -d 'version=0.0.1' -d '平台=ruby' |
删除来自存储库的特定gem文件 |
索引是由Artifactory在后台自动完成的,但是如果您仍然需要重新创建或更新spec索引文件,以下REST API命令也可用:
其他命令 |
Curl语法示例 |
讲话 |
---|---|---|
重建索引 | curl -X POSThttp://localhost:8081/artifactory/api /宝石/ <库关键> /重建索引 | 重新创建所有规格索引文件。 |
更新索引 | curl -X POSThttp://localhost:8081/artifactory/api /宝石/ <库关键> / updateIndex | 如果需要,更新所有规格索引文件。 |
查看RubyGems工件信息
如果您在Tree Browser中选择RubyGems工件,您可以选择RubyGems选项卡查看所选工件的详细信息。
查看和提取License信息
从4.4版开始,Artifactory可以扫描Gem以提取有关Gem中嵌入的许可文件的信息。
扫描license文件一般选项卡上,单击扫描。
执照、许可证、license.txt license.txt license.txt
正在搜索RubyGems许可文件
控件可以覆盖或扩展Artifactory搜索的文件列表artifactory.archive.licenseFile.names
财产。
一旦提取了许可证,Artifactory就会用相应的属性注释Gem。