You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JFrog CLI获取Artifactory二进制哈希值或按哈希下载

关于JFrog CLI获取工件哈希值及按哈希下载的解决方案

一、如何获取Artifactory工件的SHA1/SHA256哈希值

你可以通过两种简单方式获取工件的哈希元数据:

1. 使用jfrog rt stat命令(推荐,直接返回详细信息)

这个命令会直接输出指定工件的完整元数据,包括SHA1、SHA256等哈希值,语法如下:

jfrog rt stat afrepo/test_repo/test.txt --server-id af-server.com

执行后会得到类似这样的输出(包含核心哈希字段):

{
"repo": "afrepo",
"path": "/test_repo/test.txt",
"name": "test.txt",
"type": "file",
"size": 426,
"created": "2024-05-20T14:30:00.000Z",
"sha1": "506438fbfc4a029ffee8b001fdce3c2cbd5541ec",
"sha256": "a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"
}

2. 使用jfrog rt search命令批量定位

如果不知道工件具体路径,也可以通过哈希值搜索匹配工件,同时获取其元数据:

jfrog rt search --props "sha1=506438fbfc4a029ffee8b001fdce3c2cbd5541ec" --server-id af-server.com --format json

加上--format json能更清晰地查看包含哈希的结构化信息。

二、如何按指定哈希值下载二进制文件

你之前的命令存在几个语法问题:

  • --props参数的引号未闭合
  • --server-id的位置错误(应放在命令参数末尾或路径之前)
  • 工件路径的位置不符合命令格式

下面是两种正确的实现方式:

1. 直接通过jfrog rt download配合props过滤

如果你知道目标仓库名称,可以用通配符匹配仓库内所有工件,再通过哈希属性过滤下载:

jfrog rt download "afrepo/*" --props "sha1=506438fbfc4a029ffee8b001fdce3c2cbd5541ec" --server-id af-server.com

这里afrepo/*表示匹配afrepo仓库下所有工件,--props会精准过滤出SHA1匹配的文件并下载。

2. 先搜索定位工件,再下载(更可靠)

如果不确定工件具体路径,可先搜索获取目标路径,再执行下载:

# 第一步:搜索匹配SHA1的工件,得到完整路径
jfrog rt search --props "sha1=506438fbfc4a029ffee8b001fdce3c2cbd5541ec" --server-id af-server.com

# 第二步:使用获取到的路径执行下载
jfrog rt download "afrepo/test_repo/test.txt" --server-id af-server.com

也可以用一行命令结合xargs自动完成搜索+下载:

jfrog rt search --props "sha1=506438fbfc4a029ffee8b001fdce3c2cbd5541ec" --server-id af-server.com | xargs -I {} jfrog rt download {} --server-id af-server.com

注意:Artifactory的内置哈希属性名是全小写的sha1和sha256,务必使用正确的属性名,否则过滤规则会失效。

内容的提问来源于stack exchange,提问作者brane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 09:07:28