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

如何通过jfrog-cli仅从GitHub主分支下载最新Artifactory工件?

解决方法

有两种可靠的方式实现只拉取主分支的最新工件,核心是通过构建属性过滤或路径定向筛选精准定位主分支构建:

方法1:基于构建属性筛选(推荐)

这种方式需要在上传主分支构建到Artifactory时,给构建打上专属属性标记,后续下载时通过该属性过滤。

步骤1:上传主分支构建时添加属性

在你的CI/CD流程(比如GitHub Actions)中,主分支构建完成后上传到Artifactory时,添加branch=main属性:

# 替换${BUILD_NUMBER}为你的构建编号(比如GitHub Actions的${{ github.run_number }})
jf rt build-publish "Action Name" ${BUILD_NUMBER} --props "branch=main"

步骤2:下载时过滤主分支构建

先查询主分支的最新构建编号,再用该编号下载对应工件:

# 获取主分支最新构建编号(需安装jq解析JSON输出)
LATEST_MAIN_BUILD=$(jf rt build-info list --build-name "Action Name" --filter "branch=main" --sort-by created --sort-order desc --limit 1 --format json | jq -r '.[].number')

# 下载该构建的工件
jf rt dl --build "Action Name/${LATEST_MAIN_BUILD}" --flat

如果你的构建本身已包含分支信息(比如通过GitHub Actions的GIT_BRANCH环境变量自动注入),可直接用--filter "GIT_BRANCH=main"替代branch=main,无需额外添加属性。

方法2:基于工件路径定向下载

如果主分支工件被上传到Artifactory的固定路径下(比如libs-release-local/your/project/path/main/),可直接通过路径筛选最新工件:

# 替换为你的工件存储路径,--limit 1确保只拉取最新的一个
jf rt dl "libs-release-local/your/project/path/main/*" --flat --sort-by created --sort-order desc --limit 1

这种方式无需依赖构建属性,但要求上传时严格区分分支路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:42:55