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

GitLab CI中使用Curl上传文件至JFrog Artifactory报错求助

JFrog Artifactory文件上传400错误排查与解决

问题场景

尝试将文件上传至JFrog Artifactory时遭遇400错误,具体操作及报错如下:

初始报错命令

执行GitLab CI命令时返回400错误:

++ curl -sSf -H 'X-JFrog-Art-Api: <API_KEY>' -X PUT -T dist/myfile.egg 'https://artifactory.mycompany.com/artifactory/dev/apps/myapp/myfile.egg;released=true;build.number=0.1'
curl: (22) The requested URL returned error: 400 
ERROR: Job failed: exit status 1

成功但不符合需求的命令

修改命令后可执行,但无法创建目标文件夹并将文件放入其中:

++ curl -sSf -H 'X-JFrog-Art-Api: <API_KEY>' -X PUT -T dist/myfile.egg 'https://artifactory.mycompany.com/artifactory/dev/apps/myapp;released=true;build.number=0.1'

额外尝试的报错

去掉元数据直接上传时,返回明确错误提示:

curl -H 'X-JFrog-Art-Api: <API_KEY>' -XPUT  'https://artifactory.mycompany.com/artifactory/dev/apps/myapp/myfile.egg' -T dist/myfile.egg

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   120    0   120    0     0    882      0 --:--:-- --:--:-- --:--:--   882
{
  "errors" : [ {
    "status" : 400,
    "message" : "Parent apps/myapp must be a folder"
  } ]
}Job succeeded

原因定位

从报错信息Parent apps/myapp must be a folder可明确:目标路径中的apps/myapp不存在,且Artifactory默认不会自动创建多级父文件夹,导致上传失败。第二个命令之所以成功,是因为它将myapp当作文件名而非文件夹,直接把文件传到了dev/apps/myapp路径,不符合预期的文件夹层级要求。

解决方法

方法1:先创建父文件夹

上传文件前,先通过PUT请求创建apps/myapp文件夹(URL末尾必须加斜杠/,否则会被识别为文件):

curl -H 'X-JFrog-Art-Api: <API_KEY>' -X PUT 'https://artifactory.mycompany.com/artifactory/dev/apps/myapp/'

文件夹创建成功后,再执行最初的带元数据上传命令即可:

curl -sSf -H 'X-JFrog-Art-Api: <API_KEY>' -X PUT -T dist/myfile.egg 'https://artifactory.mycompany.com/artifactory/dev/apps/myapp/myfile.egg;released=true;build.number=0.1'

方法2:使用JFrog CLI(推荐)

如果频繁进行此类操作,建议用JFrog CLI,它会自动处理文件夹创建逻辑,命令更简洁:

jf rt upload dist/myfile.egg dev/apps/myapp/myfile.egg --props "released=true;build.number=0.1" --url https://artifactory.mycompany.com/artifactory --api-key <API_KEY>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:20:44