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

求助:从JFROG指定仓库下载目录至本地的有效方法

从JFrog仓库下载目录的可行解决方案

方案一:修正curl命令

你之前的curl命令失败,大概率是因为--output指定的是文件名而非目录,且缺少解压步骤。按下面的方式调整:

先把目标目录下载为同名zip包,再解压到本地:

# 替换DIRECTORY_URL为实际仓库目录地址,比如https://xxx.jfrog.io/artifactory/my-repo/target-dir
curl -u username:password -L "DIRECTORY_URL?archiveType=zip" --output "C:\copying-artifacts\target-dir.zip"
# Windows环境用PowerShell执行解压
Expand-Archive -Path "C:\copying-artifacts\target-dir.zip" -DestinationPath "C:\copying-artifacts\"

如果想自动获取原目录名,不用手动输入,可通过PowerShell解析URL实现:

$targetUrl = "DIRECTORY_URL"
$dirName = $targetUrl.Split('/')[-1]
curl -u username:password -L "$targetUrl?archiveType=zip" --output "C:\copying-artifacts\$dirName.zip"
Expand-Archive -Path "C:\copying-artifacts\$dirName.zip" -DestinationPath "C:\copying-artifacts\"

方案二:使用JFrog CLI(更稳定省心)

JFrog官方提供的CLI工具专门用于和Artifactory交互,比curl更适配仓库操作,还能自动处理权限、目录结构等问题:

  1. 先配置JFrog实例(替换成你的实际地址和账号):
jfrog rt config --url="https://your-jfrog-instance/artifactory" --user=username --password=password
  1. 下载目录并保留原名称与结构:
# 替换repo-name/path/to/directory为仓库内的目标目录路径,本地会自动生成同名目录
jfrog rt download "repo-name/path/to/directory/*" "C:\copying-artifacts/" --flat=false

--flat=false参数会严格保留仓库中的目录层级,确保本地目录结构和仓库完全一致。

原命令失败的常见排查点

  • 确认DIRECTORY_URL是仓库目录的完整地址,而非单个文件的URL,且目标目录确实存在;
  • 检查账号权限:确保你的账号能在JFrog UI中正常访问该目录;
  • 若路径包含空格,必须用引号将路径/URL完整包裹;
  • 环境需要代理的话,给curl添加-x http://proxy:port参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 10:55:19