首页 > 解决方案 > Jenkins Pipeline - 上传到 Artifactory:无法部署文件/父级必须是文件夹

问题描述

我有一个 Jenkins 工作,它生成一个我想上传到 Artifactory 的 zip 文件。我在设置要上传的工件版本时遇到问题。

按照惯例,我使用时间戳有版本。我想将文件上传到my/group/timestamp/file.zip. 该文件的网址将是http://ArtifactoryAdress/foo/my/group/timestamp/file.zip

这是我的管道代码

def serverArtifactory = Artifactory.server 'NameArtificatory'
def uploadSpec = """{
      "files": [
        {
          "pattern": "file.zip",
          "target": "my/group/${timestamp}/"
        }
     ]
    }"""
serverArtifactory.upload(uploadSpec)

我从 Jenkins Job 收到以下错误

java.lang.RuntimeException: java.io.IOException: 无法部署文件。状态码:400 响应消息:Artifactory 返回以下错误:Parent my/group/timestampValue must be a folder 状态码:400

我环顾了 buildInfo,但找不到如何设置版本。

顺便说一句,我也同意没有时间戳但只有组名的解决方案。

标签: jenkinsjenkins-pipelineartifactory

解决方案


最后,这个错误是清晰而简单的。

如前所述,具有路径的文件my/group/timestampValue已经存在。您必须在 Artifactory 上将其删除。


推荐阅读