jenkins - 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,但找不到如何设置版本。
顺便说一句,我也同意没有时间戳但只有组名的解决方案。
解决方案
最后,这个错误是清晰而简单的。
如前所述,具有路径的文件my/group/timestampValue
已经存在。您必须在 Artifactory 上将其删除。
推荐阅读
- java - 为什么 System 类不需要实例化?
- c# - 当我将控制器放入另一个项目 OData .Net Core 时,控制器无法正常工作
- chromecast - 在 Chromecast Receiver 中获取发件人语言
- ios - 如何快速同时显示表格视图单元格索引路径和集合视图索引路径?
- javascript - 如何将 rrule 日期值从数组转换为自定义字符串
- spring-boot - 需要为一个类写Junit
- java - 如何更改 SWT 默认字体大小?
- c - 在 CI 中,保持在 2D 数组中输出 0.0
- javascript - 过滤出对象数组中的一个对象
- camera-calibration - 实时 360° 全景图像拼接实现