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

如何在Jenkins任务中不使用插件通过API拉取JFrog制品?

不用Jenkins插件,通过API拉取JFrog制品的Shell实现

完全可以通过JFrog的官方API(或封装API的jf命令行工具)在Shell脚本中实现制品拉取,不需要依赖任何Jenkins插件,直接嵌入Jenkins流水线的Shell步骤即可。

方法1:直接调用JFrog REST API(用curl)

JFrog Artifactory提供了完整的REST API用于制品管理,核心思路是通过认证后发起GET请求下载制品。

认证方式

有两种常用认证方式:

  • API密钥认证(推荐):直接在请求头里带上X-JFrog-Art-Api字段,值为你的JFrog API密钥,比密码更安全
  • 基本认证:把用户名和密码/API密钥转成Base64格式,放在请求头的Authorization字段

示例命令

# 替换为你的JFrog实例地址、仓库名、制品路径
JFROG_URL="https://your-jfrog-instance.com/artifactory"
REPO_NAME="your-repo"
ARTIFACT_PATH="path/to/your/artifact.jar"
LOCAL_OUTPUT_PATH="./downloaded-artifact.jar"

# API密钥认证方式
curl -H "X-JFrog-Art-Api: ${JFROG_API_KEY}" \
  "${JFROG_URL}/${REPO_NAME}/${ARTIFACT_PATH}" \
  -o "${LOCAL_OUTPUT_PATH}"

# 基本认证方式(可选)
# 先通过 echo -n "username:apikey" | base64 生成编码后的凭据
# curl -H "Authorization: Basic YOUR_BASE64_ENCODED_CRED" \
#   "${JFROG_URL}/${REPO_NAME}/${ARTIFACT_PATH}" \
#   -o "${LOCAL_OUTPUT_PATH}"

方法2:使用jf命令行工具(更简洁)

JFrog官方提供的jf CLI工具封装了REST API,语法更简洁,维护成本更低。

示例脚本

# Linux环境下自动安装jf CLI(其他系统可调整安装逻辑)
curl -fL https://getcli.jfrog.io | sh

# 配置JFrog服务器认证(替换为你的实例地址、用户名和API密钥)
jf rt config --url "${JFROG_URL}" --user "${JFROG_USER}" --apikey "${JFROG_API_KEY}"

# 拉取制品到本地指定路径
jf rt download "${REPO_NAME}/${ARTIFACT_PATH}" "${LOCAL_OUTPUT_PATH}"

在Jenkins中嵌入的注意事项

  • 不要硬编码认证信息:用Jenkins的凭据管理存储用户名、API密钥,通过环境变量在Shell中引用(比如自由风格任务的"构建环境"绑定凭据,或Jenkinsfile中用withCredentials)
  • 检查网络权限:确保Jenkins代理机器能访问你的JFrog实例(防火墙、网络策略允许)
  • 错误处理:脚本中可添加set -e让执行出错时停止,或用if判断命令返回值,确保拉取失败时Jenkins任务能正确标记为失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 15:40:29