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

使用JFrog CLI将虚拟Artifactory依赖迁移至测试/预发布本地库

依赖推广至测试/预发布Artifactory仓库的JFrog实现流程

一、先搞定构建依赖的追踪

你之前用的jf rt go build是旧语法,先换成新语法并生成构建记录,这样能精准定位要推广的依赖:

jf go build --build-name=go-app-build --build-number=1

执行后,JFrog会自动把本次构建用到的所有依赖(就是你看到的rsc.io/quote、rsc.io/sampler这些)记录到构建信息里。

二、推荐方式:用构建推广(Promote)功能

构建推广是JFrog的标准环境流转流程,能一键把构建关联的依赖(甚至产物)同步到目标仓库:

  1. 确认你的测试仓库(比如demo-go-repo-test-local)和预发布仓库(demo-go-repo-preprod-local)已经在Artifactory中创建好。
  2. 执行命令推广到测试仓库:
jf rt build-promote go-app-build 1 demo-go-repo-test-local --copy-deps
  1. 同理,推广到预发布仓库:
jf rt build-promote go-app-build 1 demo-go-repo-preprod-local --copy-deps

参数说明:

  • --copy-deps:强制复制该构建关联的所有依赖到目标仓库
  • 怕出错的话可以先加--dry-run做测试,或者保留默认的--overwrite=false(不会覆盖已存在的文件)

三、临时方案:直接复制依赖文件

如果不想用构建记录,也可以直接从虚拟仓库关联的缓存本地库(虚拟仓库本身是逻辑库,依赖实际存在于它关联的缓存本地库,比如demo-go-repo-cache-local)复制到目标仓库:

  1. 依赖在Artifactory里的路径一般是类似rsc/io/quote/v1.5.2这种格式,对应仓库路径就是demo-go-repo-cache-local/rsc/io/quote/v1.5.2/...
  2. 执行复制命令:
# 复制quote依赖到测试仓库
jf rt copy "demo-go-repo-cache-local/rsc/io/quote/*" demo-go-repo-test-local --recursive
# 复制sampler依赖到测试仓库
jf rt copy "demo-go-repo-cache-local/rsc/io/sampler/*" demo-go-repo-test-local --recursive
# 复制text依赖到测试仓库
jf rt copy "demo-go-repo-cache-local/golang.org/x/text/*" demo-go-repo-test-local --recursive

把目标仓库换成预发布仓库,重复上面的命令即可。

四、验证推广结果

  • 直接登录Artifactory UI,进入测试/预发布仓库,检查对应的依赖包是否存在
  • 或者用JFrog CLI快速查询:
jf rt search "demo-go-repo-test-local/rsc/io/quote/v1.5.2"

额外提醒

你的go.yaml里resolver用的是demo-go-repo-virtual虚拟仓库,它会自动把拉取的依赖缓存到关联的本地仓库,所以推广的源头是这个缓存本地库,而非虚拟仓库本身。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:55:46